vue之监听对象、对象数组的改变
时间:2020-03-24
本文章向大家介绍vue之监听对象、对象数组的改变,主要包括vue之监听对象、对象数组的改变使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
vue之监听对象的改变
一、对象监听
1. 深度监听
<template> <div id="test"> <button @click="changeAge">change</button> </div> </template> <script> export default { name: 'test', data () { return { user: { id: 1, name: '李四', age: 14, sex: '男' } } }, watch: { user: { handler: function (val) { console.log(val) }, deep: true } }, methods: { changeAge () { this.user.age = 15 } } } </script>
通过watch中的deep属性,监听对象的所有属性,当属性值改变的时候,watch将会被打印,但是这样消耗会很大
当然,也可以只监听对象的依噶属性
watch: { 'user.age' () { console.log(1111) } }
2..$set(obj,ket,value)
Vue 不允许在已经创建的实例上动态添加新的根级响应式属性,如果是添加一个新的属性,可以使用$set,但是如果需要修改属性的值,$set将无效
<template> <div id="test1"> <button @click="changeAge">change</button> </div> </template> <script> export default { name: 'assess', data () { return { user: { id: 1, name: '李四', age: 14, sex: '男' } } }, watch: { user (val) { console.log(val) } }, methods: { changeAge () { this.$set(this.user, 'ages', 15) } } } </script>
3.Object.assign对象复制
原理:新建一个空对象将对象复制进空对象再赋值给监听的值,这种方法可以监听到对象属性的新增和修改
this.user = Object.assign({}, this.user)
二、对象数组监听
1.深度监听
同1.1
2..$set(obj,ket,value)替换
this.$set(this.user, 'ages', { id: 1, name: '张三', age: 13, sex: '男' })
钻研不易,转载请注明出处......
原文地址:https://www.cnblogs.com/s313139232/p/12218660.html
- 2000! | 看上去如此简单的面试题,让太多“前端”英雄好汉折戟
- 【Windows编程】系列第六篇:创建Toolbar与Statusbar
- arguments,想说爱你不容易
- 【android开发】Android binder学习一:主要概念
- 高考啦! JavaScript高考全国卷
- 2017 JavaScript高考全国卷 参考答案与解析
- 用贝叶斯判别分析方法预测股票涨跌
- 开发 | 在 Mac OS X 装不上 TensorFlow?看了这篇就会装
- 【答疑解惑】Java中的默认构造器和equals方法
- 原生JS | 当兔子遇到鸡
- 【Android基础】Activity的生命周期函数
- 七种常用回归技术,如何正确选择回归模型?
- 爬取拉勾网大数据相关岗位薪资信息存到excel,并作数据分析
- 【Windows编程】系列第五篇:GDI图形绘制
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- js中class的继承的基础用法
- JavaScript 设计模式学习总结与感悟(开发&面试必备)
- 3分钟短文 | PHP多维数组搜索值,就只能for循环?这样写更高效
- 如何获得tomcat管理员账号
- ant target间的dependency
- 如何用ant将JSP项目打成war包
- 3分钟短文 | MySQL备份和迁移sql文件,这个指令基础又关键
- 如何用ant给Java项目生成文档
- ant build里如何指定classpath
- Tomcat服务器java.lang.IllegalArgumentException异常
- 动态控制SAP CRM附件的可编辑性
- 关于node.js:ExpressJS、Websocket中的session会话共享
- 【STM32F429开发板用户手册】第23章 STM32F429的USART串口基础知识和HAL库API
- 【STM32F407开发板用户手册】第23章 STM32F407的USART串口基础知识和HAL库API
- 小姐姐提灯给你讲讲动态规划(万字长文)