详解Vue监听数据变化原理


Posted in Javascript onMarch 08, 2017

本人最近在学习Vue,从网上查询了很多关于Vue监听数据变化原理,稍微整理精简一下做下分享。

浅度监听

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>浅度监听</title>
  <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
  <meta name="apple-mobile-web-app-capable" content="yes">
  <meta name="apple-mobile-web-app-status-bar-style" content="black">
  <script src="../js/vue1.0.js"></script>
  <script src="../js/vue-resource.js"></script>
  <script>
    window.onload = function(){
      var vm = new Vue({
        el:'#box',
        data:{
          a:111,
          b:2
        }
      });
      vm.$watch('a',function(){
        alert('发生变化了');
      });
      document.onclick = function(){
        vm.a = 1;
      }
    }
  </script>
</head>
<body>
<div id="box">
  {{a}}
  <hr>
  {{b}}
</div>
</body>
</html>

深度监听

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>深度监听</title>
  <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
  <meta name="apple-mobile-web-app-capable" content="yes">
  <meta name="apple-mobile-web-app-status-bar-style" content="black">
  <script src="../js/vue1.0.js"></script>
  <script src="../js/vue-resource.js"></script>
  <script>
    window.onload = function(){
      var vm = new Vue({
        el:'#box',
        data:{
          json:{name:'abcdef',age:'16'},
          b:2
        }
      });
      vm.$watch('json',function(){
        alert('发生变化了');
      },{deep:true});
      document.onclick = function(){
        vm.json.name = "aaaaaa";
      }
    }
  </script>
</head>
<body>
<div id="box">
  {{json | json}}
  <hr>
  {{b}}
</div>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
asp.net 30分钟掌握无刷新 Repeater
Sep 16 Javascript
JavaScript中将一个值转换为字符串的方法分析[译]
Sep 21 Javascript
jquery.Ajax()方法调用Asp.Net后台的方法解析
Feb 13 Javascript
AngularJS 2.0新特性有哪些
Feb 18 Javascript
AngularJs定时器$interval 和 $timeout详解
May 25 Javascript
基于Vue实现页面切换左右滑动效果
Jun 29 Javascript
360提示[高危]使用存在漏洞的JQuery版本的解决方法
Oct 27 jQuery
JQuery扩展对象方法操作示例
Aug 21 jQuery
解决vue组件props传值对象获取不到的问题
Jun 06 Javascript
vue实现简单跑马灯效果
May 25 Javascript
js+canvas绘制图形验证码
Sep 21 Javascript
利用JavaScript写一个简单计算器
Nov 27 Javascript
JS文件/图片从电脑里面拖拽到浏览器上传文件/图片
Mar 08 #Javascript
Vue 父子组件、组件间通信
Mar 08 #Javascript
jQuery的$.extend 浅拷贝与深拷贝
Mar 08 #Javascript
vue-resourse将json数据输出实例
Mar 08 #Javascript
微信小程序 下拉列表的实现实例代码
Mar 08 #Javascript
js实现五星评价功能
Mar 08 #Javascript
ionic2 tabs 图标自定义实例
Mar 08 #Javascript
You might like
php 无限级 SelectTree 类
2009/05/19 PHP
PHP整合PayPal支付
2015/06/11 PHP
php使用str_shuffle()函数生成随机字符串的方法分析
2017/02/17 PHP
三个思路解决laravel上传文件报错:413 Request Entity Too Large问题
2017/11/13 PHP
php intval函数用法总结
2019/04/14 PHP
把textarea中字符串里含有的回车换行替换成&amp;lt;br&amp;gt;的javascript代码
2007/04/20 Javascript
js arguments.callee的应用代码
2009/05/07 Javascript
js中 关于undefined和null的区别介绍
2013/04/16 Javascript
实现只能输入数字的input不用replace方法
2013/09/12 Javascript
jQuery和AngularJS的区别浅析
2015/01/29 Javascript
PHP结合jQuery实现的评论顶、踩功能
2015/07/22 Javascript
Bootstrap Table 删除和批量删除
2017/09/22 Javascript
JS实现电话号码的字母组合算法示例
2019/02/26 Javascript
Koa 中的错误处理解析
2019/04/09 Javascript
jQuery内容选择器与表单选择器实例分析
2019/06/28 jQuery
解决vue打包后刷新页面报错:Unexpected token
2019/08/27 Javascript
jquery validate 实现动态增加/删除验证规则操作示例
2019/10/28 jQuery
在vue和element-ui的table中实现分页复选功能
2019/12/04 Javascript
使用eslint和githooks统一前端风格的技巧
2020/07/29 Javascript
Vue 数据绑定的原理分析
2020/11/16 Javascript
python实现协同过滤推荐算法完整代码示例
2017/12/15 Python
Python设计模式之原型模式实例详解
2019/01/18 Python
在Python函数中输入任意数量参数的实例
2019/07/16 Python
python3使用print打印带颜色的字符串代码实例
2019/08/22 Python
pandas的相关系数与协方差实例
2019/12/27 Python
tensorflow实现对张量数据的切片操作方式
2020/01/19 Python
Python数据可视化处理库PyEcharts柱状图,饼图,线性图,词云图常用实例详解
2020/02/10 Python
python安装后的目录在哪里
2020/06/21 Python
美国受欢迎的女性牛仔裤品牌:DL1961
2016/11/12 全球购物
2014教师党员个人自我评议
2014/09/20 职场文书
生日答谢词
2015/01/05 职场文书
教师工作表现自我评价
2015/03/05 职场文书
家装电话营销开场白
2015/05/29 职场文书
《玩出了名堂》教学反思
2016/02/17 职场文书
python flask开发的简单基金查询工具
2021/06/02 Python
解决ubuntu安装软件时,status-code=409报错的问题
2022/12/24 Servers