博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Vue中$watch的监听变化
阅读量:7191 次
发布时间:2019-06-29

本文共 1597 字,大约阅读时间需要 5 分钟。

Vue提供了watch来监听双向绑定过程中data的变化

但是平时的开发过程中你可能会遇到watch并没有被触发
下面对数组、对象和字符串做了简单的测试总结

      
Document

watch状态改变

arrchange:{

{watch.arr}}

objchange:{

{watch.obj}}

objnamechange:{

{watch.objname}}

stringchange:{

{watch.string}}

numchange:{

{watch.num}}

数据展示

arr:{

{arr}}

obj:{

{obj}}

string:{

{string}}

num:{

{num}}

arr操作

object操作

String操作

Num操作

测试结果

会触发watch的

Array

  1. 删除arr[0]
  2. 删除arr[0].name($delete)
  3. unshift一个对象到arr
  4. arr[0]重新赋值($set)
  5. arr重新赋值
  6. arr重新赋值($set)

Object

  1. 修改obj的name字段(obj并没有触发watch,但是属性name触发了watch)
  2. 修改obj的name字段($set)(同上)
  3. 添加age属性($set)
  4. 删除obj的name字段($delete)(同时触发了name的watch)
  5. 对obj重新赋值(同上)

String、Number 可以触发watch

所以需要触发watch时尽可能重新赋值

代码地址

测试地址

添加了vuex的测试实现

测试地址

转载地址:http://ykxkm.baihongyu.com/

你可能感兴趣的文章
js中的解绑事件
查看>>
ubuntu16.04下编译安装vim8.1
查看>>
DSSM 深度学习解决 NLP 问题:语义相似度计算
查看>>
真实世界的脉络].(英)戴维.多伊奇.pdf
查看>>
POJ 3710 Christmas Game
查看>>
秒懂神经网络---真·模拟退火算法
查看>>
js进阶 10-9 -of-type型子元素伪类选择器
查看>>
html5--6-14 CSS3中的颜色表示方式
查看>>
thinkphp5空控制器和空操作
查看>>
Mac下的UI自动化测试 (二)
查看>>
多线程爬虫
查看>>
bootstrap-table-master
查看>>
LeetCode 265: Paint House II
查看>>
Navicat 远程连接 Oracle11g 数据库报错 No listener 的问题
查看>>
python设计模式之单例模式
查看>>
Flex 布局教程:语法篇
查看>>
JVM内存模型和内存分配学习心得
查看>>
学术家族树典型用户的场景模拟
查看>>
CUDA-GPU编程
查看>>
JSP+Servlet实现验证码生成
查看>>