vue part 8

news2024/9/22 5:35:27

浏览器本地存储

application, local storage中

js方法肯定会用很多呀,只是不直接操作dom了但是对对象和数组进行操作还是原先的方法,jq的话想用引入就可以了。我是直接放弃jq了,在框架中用jq包不好

sessionStorage.HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>sessionStorage</title>
</head>
<body>
<h2>sessionStorage</h2>
<button onclick="saveData()">点我保存一个数据</button>
<button onclick="readData()">点我读取一个数据</button>
<button onclick="deleteData()">点我删除一个数据</button>
<button onclick="removeAllData()">清空所有数据</button>
</body>
<script type="text/javascript">
    function saveData(){
        sessionStorage.setItem('msg1', 'panyue,hello');
        //对象转换为字符串
        sessionStorage.setItem('msg2',JSON.stringify({
            name: 'panyue',
            age: '21',
            school: 'wust(WuHan)'
        }))
    }

    function readData(){
        console.log(sessionStorage.getItem('msg1'))
        console.log(JSON.parse(sessionStorage.getItem('msg2')));
        console.log(sessionStorage.getItem('text')); //读不出来就是null Json.parse(null)仍然是null注意
    }

    function deleteData(){
        sessionStorage.removeItem('msg2');
    }

    function removeAllData(){
        sessionStorage.clear();
    }
</script>
</html>

localStorage.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>localStorage</title>
</head>
<body>
  <h2>localstorage</h2>
  <button onclick="saveData()">点我保存一个数据</button>
  <button onclick="readData()">点我读取一个数据</button>
  <button onclick="deleteData()">点我删除一个数据</button>
  <button onclick="removeAllData()">清空所有数据</button>
</body>
<script type="text/javascript">
    function saveData(){
        localStorage.setItem('msg1', 'panyue,hello');
        //对象转换为字符串
        localStorage.setItem('msg2',JSON.stringify({
            name: 'panyue',
            age: '21',
            school: 'wust(WuHan)'
        }))
    }

    function readData(){
        console.log(localStorage.getItem('msg1'))
        console.log(JSON.parse(localStorage.getItem('msg2')));
        console.log(localStorage.getItem('text')); //读不出来就是null Json.parse(null)仍然是null注意
    }

    function deleteData(){
        localStorage.removeItem('msg2');
    }

    function removeAllData(){
       localStorage.clear();
    }
</script>
</html>

不存在返回NULL

1.存储内容大小一般支持5MB左右(不同浏览器可能还不一样)
2.浏览器端通过Window.sessionStorage和Window.localStorage属性来实现本地存储机制。
3.相关API:
1. xxxxxStorage. setItem('key', 'value');
该方法接受一个键和值作为参数,会把键值对添加到存储中,如果键名存在,则更新其对应的值。
2. xxxxxStorage. getItem('person');
该方法接受一个键名作为参数,返回键名对应的值。
3. xxxxxStorage.removeItem('key');
该方法接受一个键名作为参数,并把该键名从存储中删除。
4. xxxxxStorage.clear()
该方法会清空存储中的所有数据。
4.备注:
1.SessionStorage存储的内容会随着浏览器窗口关闭而消失。
2.LocalStorage存储的内容,需要手动清除才会消失。
3.xxxxxStorage.getItem(xxx)如果xxx对应的value获取不到,那么getltem的返回值是null。
4.JSON.parse(null)的结果依然是null。

ToDoList的本地存储

在methods里面添加updated 实测不行,检测不到深层数据的改变。类似于 watch 中 deep: false真的不行吗???

watch来检测深度监视

前台提示,空数组和JSON不能换位置,因为||运算符特点,具体看js基础课程

组件的自定义事件

绑定

v-on给student组件的实例对象vc上绑定了一个atguigu事件,vc(组件实例对象)是由vue.extend生成的

<template>
  <div class=llapp<l>
   <hl>{{msg}}</hl>
   <!--通过父纸件给Nil件传速随敷类电的peps实现:广给父心递数据-->
   <School : get School Name= "get School Name"/>
   <Student v-on:atguigu="demo"/>
  </div>
</template>

在组件上面定义一个事件,而后在组件的template模板中定义一个点击事件,通过点击事件触发函数,在函数中使用this.$emit调用组件定义的函数

绑定自定义事件,直接就把这个函数放在了子组件的VC身上,而props需要接收后才能放在VC上

下面这里很怪,为什么用了ref里面的触发还是atguigu?不是被注释掉了嘛?

<!--通过父组件给子组件绑定一个自定义事件实现:子给父传递数据(第一种写法,使用@或v—on)-->
<Student @atguigu="getstudentName"/>
<!--通过父组件给子组件绑定一个自定义事件实现:子给父传递数据(第二种写法,使用ref)-->
<Student ref="student"/>

上下两相对照

 这里的$on的作用就是把atguigu的事件添加到student的vc上,所以student组件才能$emit调用,vue3中废弃了$on

解绑

vue3中offapi已经废掉了,取而代之的是mitt

$destory在Vue3中被废弃,不让用户自己调用了

是解绑所有子组件自定义事件,school组件能给app传递name,是因为school中的方法是app通过props传递过去的,并不是自定义事件,所以可以使用,就像student中的打印能用一样的道理

 main.js
//引入Vue
import Vue from 'vue' //App
import App from './App.vue' //关闭Vue的生产提示
Vue.config.productionTip false //创建vm
new Vue({ el:'#app',
render: h =>h(App), mounted(){
setTimeout(()=>{ this.$destroy() ],3p00)
} ) 

总结

082_尚硅谷Vue技术_组件自定义事件_总结_哔哩哔哩_bilibili

接下来的内容概括:箭头函数在哪定义,this永远指向父级函数this,且this指向不可改变,即使作为属性添加到另一个对象上也是如此。普通函数作为方法添加到另一个对象上,this指向由调用者决定。作用域与this指向是分开的

用匿名函数直接回调,里面的this指向VC,用已有methds触发,触发的methods里的this肯定是当前组件。当你给组件绑自定义事件的时候回调函数this指向被绑定事件的组件, 当你调用当前组件的函数的时候, 以当前组件函数的this为主, vue规定当前组件函数的this指向当前组件

todolist自定义事件实战

083_尚硅谷Vue技术_TodoList案例_自定义事件_哔哩哔哩_bilibili

全局事件总线

总结:在Vue.prototype里面添加全局事件总线,好了下一节吧

A想要别的数据,

往所有的vuecomponent放你要的x,所有的vc不就都能看见了吗?error,因为不是程序员定义的,是Vue.extent生成的

084_尚硅谷Vue技术_全局事件总线1_哔哩哔哩_bilibili可以看到19.40即可

这有问题吧,相同的组件标签是new的同一个VueComponent吧,每个不同的组件是不同的VueComponent:不是写标签一个新的Vuecomponent吧,是每次调用Vue.extend返回新的Vuecomponent吧

总之就是必须把x放在原型对象上

main.js

//引入Vue
import Vue from 'vue' //App
import App from './App.vue' 
//关闭Vue的生产提示
Vue.config. productionTip false 

Vue.prototype.x {a: 1, b: 2} //创建vm

new Vue({ 
    el: '#app',
    render: h =>h(App), 
])

p85到p90都没看

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2108117.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Git+word记笔记

程序员记笔记主要同步很重要&#xff0c;我这个方法只支持个人笔记&#xff0c;如果团队还是用企业微信开个企业会员比较方便。为什么用word&#xff0c;因为可以镶嵌代码和文档&#xff0c;不仅仅是文字&#xff0c;兼容性强 语雀&#xff0c;云笔记这些对于上传的word都是有…

AI大模型编写多线程并发框架(六十五):发布和应用

系列文章目录 文章目录 系列文章目录前言一、项目背景二、第十三轮对话-优化传参三、第十四轮对话-释放资源四、完善所有单元测试五、验证通过六、发布七、参考文章 前言 在这个充满技术创新的时代&#xff0c;AI大模型正成为开发者们的新宠。它们可以帮助我们完成从简单的问答…

IA——网络操作设备VRP简介

一&#xff0c;VRP简介 二&#xff0c;网络设备的管理 &#xff08;1&#xff09;console口&#xff1a; &#xff08;2&#xff09;talnet: &#xff08;3&#xff09;SSH: 安全的远程登陆 &#xff08;4&#xff09;通过WEB页面登录&#xff1a; 三&#xff0c;命令行常见…

TikTok养号一般养几天?账号起步方法

TikTok养号是一个关键的步骤&#xff0c;它可以帮助新账号快速积累粉丝和观众&#xff0c;增加视频的曝光和互动率&#xff0c;从而提升账号的影响力和可见性。但是养号也并不是简单的登录账号、互动点赞&#xff0c;而是从底层设备到分发频率都需要讲究方法&#xff0c;否则号…

linux下c语言中的单向列表,双向链表,内核双向列表,及适用场景

1. 单向链表&#xff08;Singly Linked List&#xff09; 1.1 定义与结构 单向链表是链式存储结构中最简单的一种。它的每个节点包含两个部分&#xff1a; - 数据域&#xff1a;存储数据元素 - 指针域&#xff1a;存储指向下一个节点的指针 在单向链表中&#xff0c;节点通过…

OpenHarmony实战开发:@Watch装饰器:状态变量更改通知

往期鸿蒙全套实战精彩文章必看内容&#xff1a; 鸿蒙开发核心知识点&#xff0c;看这篇文章就够了 最新版&#xff01;鸿蒙HarmonyOS Next应用开发实战学习路线 鸿蒙HarmonyOS NEXT开发技术最全学习路线指南 鸿蒙应用开发实战项目&#xff0c;看这一篇文章就够了&#xff08…

为什么要做智慧厕所,智慧公厕的建设意义有哪些?@卓振思众

智慧厕所是利用物联网、大数据、人工智能等技术&#xff0c;对传统厕所进行智能化升级改造后的新型厕所。它具备环境监测与调控、厕位引导、资源管理、安全管理、数据分析与管理平台等功能和特点。卓振思众是智慧厕所源头厂家&#xff0c;建设智慧厕所主要有以下几个重要原因&a…

【python因果推断库7】使用 pymc 模型的工具变量建模 (IV)2

目录 与普通最小二乘法 (OLS) 的比较 应用理论&#xff1a;政治制度与GDP 拟合模型&#xff1a;贝叶斯方法 多变量结果和相关性度量 结论 与普通最小二乘法 (OLS) 的比较 simple_ols_reg sk_lin_reg().fit(X.reshape(-1, 1), y)print("Intercept:", simple_ols_…

V90总线伺服报800F错误

1、博途PLC工艺对象位置轴轴控功能块 博途PLC工艺对象位置轴轴控功能块(完整SCL代码)-CSDN博客文章浏览阅读423次。S7-1200PLC脉冲轴位置轴位置控制功能块S7-1200PLC脉冲轴位置轴位置控制功能块优化(完整SCL源代码)_s71200 脉冲轴-CSDN博客文章浏览阅读341次。该博客详细介绍了…

自闭症儿童语言干预

自闭症儿童的语言发展往往面临独特挑战&#xff0c;这不仅影响了他们的日常交流能力&#xff0c;也制约了其社交与认知的全面发展。因此&#xff0c;实施科学有效的语言干预对于促进自闭症儿童的语言能力至关重要。 语言干预应基于个性化原则&#xff0c;充分考虑每个孩子的兴…

基于echarts车辆大数据综合分析平台

0.序言 基于ECharts的大数据综合分析平台技术框架与基本原理 技术框架 基于ECharts的大数据综合分析平台是一个集数据收集、处理、分析及可视化展示于一体的综合性系统。其技术框架主要可以分为以下几个层次&#xff1a; 数据源层&#xff1a; 数据收集&#xff1a;通过各种…

STM32F407ZET6

GPIO SPI 串行外设接口(Serial Peripheral Interface)的简称也叫做SPI,是一种高速的、全双工同步通信的一种接口,串行外设接口一般是需要4根线来进行通信(NSS、MISO、MOSI、SCK),但是如果打算实现单向通信(最少3根线,NSS、MOSI、SCK),就可以利用这种机制实现一对多或…

八、发票校验(1)

第一节 发票知识 1、发票介绍 发票是指一切单位和个人在购销商品、提供或接受服务以及从事其他经营活动中&#xff0c;所开具和收取的业务凭证&#xff0c;是会计核算的原始依据&#xff0c;也是审计机关、税务机关执法检查的重要依据。 发票必须具备的要素是根据议定条件由…

Xilinx系FPGA学习笔记(四)VIO、ISSP(Altera)及串口学习

系列文章目录 文章目录 系列文章目录VIO&#xff08;Vivado&#xff09;ISSP&#xff08;Altera&#xff09;串口学习FPGA串口发送FPGA串口接收 VIO&#xff08;Vivado&#xff09; VIO 的全称叫 Virtual Input/Output&#xff0c;建立一个虚拟的输入/输出信号&#xff0c;可以…

CRE6959AM70V055S 超低待机功耗反激式开关电源芯片

CRE6959AM70V055S 是一款高度集成的电流型 PWM控制 IC&#xff0c;为高性能、低待机功率、低成本、高效率的隔离型反激式开关电源控制器。在满载时&#xff0c;CRE6959AM70V055S工作在固定频率(65kHz)模式。在负载较低时&#xff0c;CRE6959AM70V055S采用节能模式&#xff0c;实…

前端XSS 攻击与SQL注入 处理

前端XSS 攻击与SQL注入 处理 文章目录 前端XSS 攻击与SQL注入 处理 一、XSS 攻击与SQL注入是什么二、XSS 攻击与SQL注入包含哪些方式1. XSS 攻击方式2. SQL 注入方式 三、如何避免XSS 攻击与SQL注入1. 避免XSS 攻击2. 避免SQL 注入 四、扩展与高级技巧1. XSS 防御策略2. SQL 注…

代码随想录算法训练营第32天 动态规划part01| 题目:理论基础 、 509. 斐波那契数 、70. 爬楼梯 、 746. 使用最小花费爬楼梯

代码随想录算法训练营第32天 动态规划part01| 题目&#xff1a;理论基础 、 509. 斐波那契数 、70. 爬楼梯 、 746. 使用最小花费爬楼梯 文章来源&#xff1a;代码随想录 理论 题目名称&#xff1a;509. 斐波那契数 斐波那契数&#xff0c;通常用 F(n) 表示&#xff0c;形成的…

【论文分享】GPU Memory Exploitation for Fun and Profit 24‘USENIX

目录 AbstractIntroductionResponsible disclosure BackgroundGPU BasicsGPU architectureGPU virtual memory management GPU Programming and ExecutionGPU programming modelGPU kernelDevice function NVIDIA PTX and SASSSASS instruction encoding GPU Memory SpacesGlob…

react购物车Redux

入口index.js import React from react import {createRoot} from react-dom/clientimport App from ./App //注入store import {Provider} from "react-redux"; import store from "./store";const root createRoot(document.getElementById(root)) roo…

Python系统教程003

变量的数据类型 将输入信息存入变量name中然后输出。 如果想通过键盘输 入信息再存入变量 中应该怎么办&#xff1f; 一、内容 input函数变量的数据类型变量的运算 &#xff08;一&#xff09;、input函数 1、input函数1 函数&#xff1a;用来完成某一个特定功能的代码 …