Vue2学习笔记(数据监测)

  Vue监视数据的原理:

  1. vue可以监视data中所有层次的数据。

  2. 如何监测对象中的数据?

      通过setter实现监视,且要在new Vue时就传入要监测的数据。

      (1).对象中后追加的属性,Vue默认不做响应式处理

      (2).如需给后添加的属性做响应式,请使用如下API:

         Vue.set(target,propertyName/index,value) 或

          vm.$set(target,propertyName/index,value)

      3. 如何监测数组中的数据?

           通过包裹数组更新元素的方法实现,本质就是做了两件事:

            (1).调用原生对应的方法对数组进行更新。

             (2).重新解析模板,进而更新页面。

        4.在Vue修改数组中的某个元素一定要用如下方法:

             1.使用这些API:push()、pop()、shift()、unshift()、splice()、sort()、reverse()

              2.Vue.set() 或 vm.$set()

特别注意:Vue.set() 和 vm.$set() 不能给vm 或 vm的根数据对象 添加属性!!!   

综合案例练习: 

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>总结数据监测</title><script type="text/javascript" src="../js/vue.js"></script>
</head>
<body><!-- 准备好一个容器 --><div id="root"><h2>Vue数据操作</h2><hr><h3>学生信息</h3><h3>姓名:{{student.name}}</h3><h3>年龄:{{student.age}}</h3><h3 v-if="student.sex">性别:{{student.sex}}</h3><h3>爱好:</h3><ul><li v-for="(h,index) in student.hobby" :key="index">{{h}}</li></ul><h3>朋友们:</h3><ul><li v-for="(f,index) in student.friends" :key="index">{{f.name}}--{{f.age}}</li></ul><h2>操作按钮,点击按钮观察数据部分的变化,思考是如何实现的,实现的方法有几个?</h2><button @click="student.age++">年龄+1岁</button><br><button @click="addSex">添加性别属性,默认值:男</button><br><button @click="student.sex = '未知' ">修改性别</button><br><button @click="addFriend">在列表首页添加一个朋友</button><br><button @click="updataFirstFriendsName">修改第一个朋友的名字为:张三</button><br><button @click="addHobby">添加一个爱好</button><br><button @click="updataHobby">修改第一个爱好为:开车</button><br><button @click="removeSmoke">过滤掉爱好中的抽烟</button></div>
</body>
<script type="text/javascript">Vue.config.productionTip = false //阻止 vue 在启动时生成生产提示。const vm = new Vue({el:"#root",data:{student:{name:"tom",age:18,hobby:["抽烟","喝酒","烫头"],friends:[{name:"jerry",age:18},{name:"jack",age:20}]}},methods: {addSex(){// 第一种写法// Vue.set(this.student,"sex","男")//第二种写法this.$set(this.student,"sex","男")},addFriend(){this.student.friends.unshift({name:"wendy",age:5})},updataFirstFriendsName(){this.student.friends[0].name = "张三"},addHobby(){this.student.hobby.push("学习")},updataHobby(){// 第一种写法// Vue.set(this.student.hobby,0,"开车")// 第二种写法this.$set(this.student.hobby,0,"开车")},removeSmoke(){this.student.hobby = this.student.hobby.filter((h)=>{return h !== "抽烟"})}},})</script>
</html>

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

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

相关文章

26、卷积 - 实际上是一个特征提取器

矩阵乘法的本质是特征的融合&#xff0c;卷积算法的本质是特征的提取。 回想一下之前所有介绍卷积的时候&#xff0c;描述了一种卷积运算的场景&#xff0c;那就是一个窗口在图片上滑动&#xff0c;窗口中的数值是卷积核的参数&#xff0c;也就是权值。 卷积的计算本质是乘累…

相似背景搜索相关技术专利总结

CN 110569878 A 一种基于卷积神经网络的照片背景相似度聚类方法及计算机-上海汇付数据服务有限公司2019 思路 对原始图像预处理以校正原始图像中的识别目标的方向前景图像特征与背景图像特征进行实例分割&#xff0c;并进行背景分离&#xff08;在测试时将原始图像中被实例分…

吹响AI技术应用的号角

毫无疑问&#xff0c;各企业正围绕各种技术展开一场持续不断的角逐&#xff0c;力争率先取得领先且具创新性的技术进步&#xff0c;AI技术也不例外。疫情期间&#xff0c;全球各地企业的员工纷纷转向居家办公。因此&#xff0c;为轻松实现这一转型并建立起远程办公的新常态&…

微信小程序中生命周期钩子函数

微信小程序 App 的生命周期钩子函数有以下 7 个&#xff1a; onLaunch(options)&#xff1a;当小程序初始化完成时&#xff0c;会触发 onLaunch&#xff08;全局只触发一次&#xff09;。onShow(options)&#xff1a;当小程序启动或从后台进入前台显示时&#xff0c;会触发 on…

【微信小程序开发】学习小程序的模块化开发(自定义组件和分包加载)

前言 模块化开发是一种将复杂的应用程序分解为一系列独立的模块&#xff0c;每个模块负责完成特定的功能的开发方式。模块化开发可以提高代码的可维护性和可复用性&#xff0c;使开发过程更加高效和灵活。 文章目录 前言模块化开发的重要性和优势自定义组件自定义组件的概念和作…

强强联合!航天科技AIRIOT助力航天电工打造智慧工厂

随着工业4.0时代的到来&#xff0c;电线电缆制造行业正在进入全新的数字化时代&#xff0c;企业需要构建新型智能工厂以助力传统产业智能制造升级。通过搭建智慧系统并结合解决方案&#xff0c;实现从底层产线、车间到工厂资产的全面感知与洞察&#xff0c;以及数据的全量采集与…

接上文 IBM ServeRAID M1015阵列卡 支持RAID5

模块到了&#xff0c;由于着急测试没直接拍照&#xff0c;就是一个跟指甲盖大小的模块&#xff0c;直接安装到阵列卡U1接口上&#xff0c;&#xff0c;不知道U1是哪个位置的参考前文&#xff0c;安装到机器上之后的图片如下 启动服务器&#xff0c;进入WebBIOS&#xff0c;选择…

python向文件写入数据

参考&#xff1a; https://www.jb51.net/article/282371.htm https://blog.51cto.com/u_16213300/7426825 lines [line 1\n, line 2\n, line 3\n]with open(example.txt, w) as f:f.writelines(lines)def generate_lines():yield line 1\nyield line 2\nyield line 3\nwith o…

c语言编译优化引发问题

问题描述 同样的代码,不优化编译,可以正常执行,经过-O2优化编译后,代码被卡住.整体功能涉及多进程,多线程操作. 问题发现 经过加打印,发现卡在while(a!0);//死循环,等待特殊事件发生来解开循环 a初始化为-1; 过一会后,另外有个线程,当特定事件发生的时候,将a置为0; 通过加打…

使用c#罗列、监视、控制进程

个人简介:本人多年从事研发和测试领域工作,有一定的经验; 口号:懒人推动科技进步,学习编程啊脚本啊目的就是要将人从做相同的工作脱离出来,手懒可以但是脑子不能懒,让重复的事情自动完成,能动一下就完成任务就不能动两下,懒到极致才是目标! 方向:本人不怎么将理论的…

阻抗控制下机器人接触刚性环境振荡不稳定进行阻抗调节

在阻抗控制下&#xff0c;当机器人接触刚性环境时&#xff0c;可能会出现振荡不稳定的情况。这可以通过调整机器人的阻抗参数来进行调节。 阻抗接触 阻抗参数中的质量、阻尼和刚度都会对机器人控制系统的性能和稳定性产生重要影响。质量主要影响系统的惯性&#xff0c;从而影响…

调试文心大模型或chatgpt的function Calling函数应用场景

沉默了一段时间&#xff0c;最近都在研究AI大模型的产品落地应用&#xff0c;我觉得这个function calling出来后&#xff0c;对目前辅助办公有革命性的改变&#xff0c;可以它来做什么呢&#xff1f;我们先来调试看看&#xff0c;chatgpt和文心大模型的ERNIE Bot支持这个&#…

Python自动化测试PO模型封装过程详解

在自动化中&#xff0c; Selenium 自动化测试中有一个名字经常被提及 PageObject( 思想与面向对象的特征相 同 ) &#xff0c;通常 PO 模型可以大大提高测试用例的维护效率 优点:可重用&#xff0c;业务和对象分离&#xff0c;代码结构清晰&#xff0c;方便代码维护 核心要素 …

数字化智慧工地管理云平台源码(人工智能、物联网)

​智慧工地优势&#xff1a;"智慧工地”将施工企业现场视频管理、建筑起重机械安全监控、现场从业人员管理、物料管理、进度管理、扬尘噪声监测等现场设备有机、高效、科学、规范的结合起来真正实现工程项目业务流与现场各类监控源数据流的有效结合与深度配合&#xff0c;…

【一周安全资讯1202】信安标委发布《网络安全标准实践指南—网络安全产品互联互通 告警信息格式》;网络安全纳入注册会计师考试科目

要闻速览 1、信安标委发布《网络安全标准实践指南—网络安全产品互联互通 告警信息格式》 2、南昌某高校学生个人信息在境外公开出售&#xff0c;警方抓获学校"内鬼" 3、网络安全纳入注册会计师考试科目 4、乌克兰情报机构网攻俄罗斯民航局&#xff0c;称俄民航业正…

swiper/vue 获取 swiper实例方法

在Vue3中使用swiper/vue&#xff0c;如何获取swiper的组件实例&#xff1f; 在项目中使用到 swiper/vue&#xff0c;想调用slideTo方法&#xff0c;发现通过refs的方法&#xff0c;拿不到swiper实例。 <template><swiperref"swiperRef"class"promoti…

合并一个文件夹下的多个txt文件,并对文本内容分列处理。

python 合并一个文件夹下的多个txt文件&#xff0c;并对文本内容分列。 原始文件&#xff1a; 最终结果&#xff1a; import pandas as pd import xlwt import pandas as pd from sqlalchemy import create_engine import pandas as pd import os import glob dirPath g…

k8s(二):Pod

Pod pod 是K8s中最小的可部署单元&#xff0c;用于容纳一个或多个容器。Pod为容器提供了一个共享的环境&#xff0c;包括网络命名空间、存储卷和IP地址。 pod的阶段(phase) Pending: Pod 已被 Kubernetes 系统接受&#xff0c;但有一个或者多个容器尚未创建亦未运行。此阶段包…

【已解决】Win10端口被占用

​ 我总是在启动项目的时候失败&#xff0c;被告知端口号被占用&#xff0c;明明没有被占用(可能是系统卡了或者其它问题)&#xff0c;但是又不想改端口号&#xff0c;或者重启电脑&#xff0c;那怎么办呢&#xff1f; 第一步&#xff1a;打开命令行窗口&#xff0c;以管理员…

【 六袆 - Framework】ActiveMQ in windows安装;

介绍 This document describes how to install and configure ActiveMQ for both Unix and Windows’ platforms. 预安装 ActiveMQ5.16版本对应JDK ActiveMQ版本JDK版本5.16JDK8(推荐)5.17JDK96.0JDK17 Windows Binary Installation This procedure explains how to down…