实例详解vue.js浅度监听和深度监听及watch用法


Posted in Javascript onAugust 16, 2018

第一个浅度监听:

<!DOCTYPE html>
<html>
 <head>
 <meta charset="UTF-8">
 <title></title>
 <script type="text/javascript" src="js/vue.js"></script>
 </head>
 <body>
 <div id="app">
  <p>{{a}}</p>
  <p>{{b}}</p>
 </div>
 <script>
  
 var vm=new Vue({
  el:"#app",
  data:{
   a:10,
   b:15
  }
 });
 vm.$watch("a",function(){
  alert('a变化了');
  this.b=100;
 });
 document.onclick=function(){
  vm.a=2
 }
 </script>
 </body>
</html>

第二个深度监听

<!DOCTYPE html>
<html>
 <head>
 <meta charset="UTF-8">
 <title></title>
 <script type="text/javascript" src="js/vue.js"></script>
 </head>
 <body>
 <div id="app">
  <p>{{a|json}}</p>
  <p>{{b}}</p>
 </div>
 <script>
  var vm = new Vue({
  el: "#app",
  data: {
   a: { id: "1", title: "width" },
   b: 15
  }
  });
  vm.$watch("a", function() {
  alert('a变化了');
  this.b = 100;
  }, { deep: true });
  document.onclick = function() {
  vm.a.id = "2";
  }
 </script>
 </body>
</html>

ps:下面看下vue中watch用法

对应一个对象,键是观察表达式,值是对应回调。值也可以是方法名,或者是对象,包含选项。在实例化时为每个键调用 $watch() ;

//使用官方vue-cli脚手架书写
<template>
//观察数据为字符串或数组

 <input v-model="example0"/>

 <input v-model="example1"/>

/当单观察数据examples2为对象时,如果键值发生变化,为了监听到数据变化,需要添加deep:true参数

 <input v-model="example2.inner0"/>
</template>
<script>

 export default {



data(){




return {





example0:"",





example1:"",





example2:{






inner0:1,






innner1:2





}




}



},



watch:{




example0(curVal,oldVal){





console.log(curVal,oldVal);




},




example1:'a',//值可以为methods的方法名




example2:{




 //注意:当观察的数据为对象或数组时,curVal和oldVal是相等的,因为这两个形参指向的是同一个数据对象





handler(curVal,oldVal){






conosle.log(curVal,oldVal)





},





deep:true




}



},



methods:{




a(curVal,oldVal){





conosle.log(curVal,oldVal)




}



}
  }
</script>

Javascript 相关文章推荐
js 蒙版进度条(结合图片)
Mar 10 Javascript
window.returnValue使用方法示例介绍
Jul 03 Javascript
JavaScript中的null和undefined区别介绍
Jan 01 Javascript
angularjs表格ng-table使用备忘录
Mar 09 Javascript
js实现页面a向页面b传参的方法
May 29 Javascript
vue-router路由简单案例介绍
Feb 21 Javascript
基于JavaScript实现焦点图轮播效果
Mar 27 Javascript
Angular2学习教程之ng中变更检测问题详解
May 28 Javascript
使用nvm管理不同版本的node与npm的方法
Oct 31 Javascript
Vue的实例、生命周期与Vue脚手架(vue-cli)实例详解
Dec 27 Javascript
在vue项目中集成graphql(vue-ApolloClient)
Sep 08 Javascript
JavaScript冒泡算法原理与实现方法深入理解
Jun 04 Javascript
vue watch普通监听和深度监听实例详解(数组和对象)
Aug 16 #Javascript
vue watch深度监听对象实现数据联动效果
Aug 16 #Javascript
JS实现的RC4加密算法示例
Aug 16 #Javascript
vue2.0父子组件间传递数据的方法
Aug 16 #Javascript
Vue2.0中三种常用传值方式(父传子、子传父、非父子组件传值)
Aug 16 #Javascript
bootstrap实现点击删除按钮弹出确认框的实例代码
Aug 16 #Javascript
浅谈Vue.js路由管理器 Vue Router
Aug 16 #Javascript
You might like
php求正负数数组中连续元素最大值示例
2014/04/11 PHP
初识通用数据库操作类――前端easyui-datagrid,form(php)
2015/07/31 PHP
php下载远程大文件(获取远程文件大小)的实例
2017/06/17 PHP
php实现保存周期为1天的购物车类
2017/07/07 PHP
PHP根据key删除数组中指定的元素
2019/02/28 PHP
一个简单的jquery进度条示例
2014/04/28 Javascript
JavaScript 变量、作用域及内存
2015/04/08 Javascript
JS实现全屏预览F11功能的示例代码
2018/07/23 Javascript
原生JS检测CSS3动画是否结束的方法详解
2019/01/27 Javascript
Vue Autocomplete 自动完成功能简单示例
2019/05/25 Javascript
vue h5移动端禁止缩放代码
2019/10/28 Javascript
vue 实现图片懒加载功能
2020/12/31 Vue.js
Django中实现一个高性能计数器(Counter)实例
2014/07/09 Python
Python HTMLParser模块解析html获取url实例
2015/04/08 Python
Python下载指定页面上图片的方法
2016/05/12 Python
python中子类调用父类函数的方法示例
2017/08/18 Python
Python爬虫实战:分析《战狼2》豆瓣影评
2018/03/26 Python
Python使用cx_Oracle模块操作Oracle数据库详解
2018/05/07 Python
python散点图实例之随机漫步
2018/08/27 Python
python去掉 unicode 字符串前面的u方法
2018/10/21 Python
python通过paramiko复制远程文件及文件目录到本地
2019/04/30 Python
对python特殊函数 __call__()的使用详解
2019/07/02 Python
python paramiko远程服务器终端操作过程解析
2019/12/14 Python
Python验证码截取识别代码实例
2020/05/16 Python
使用pandas库对csv文件进行筛选保存
2020/05/25 Python
Keras中 ImageDataGenerator函数的参数用法
2020/07/03 Python
Python全局变量与global关键字常见错误解决方案
2020/10/05 Python
如何Tkinter模块编写Python图形界面
2020/10/14 Python
如何通过安装HomeBrew来安装Python3
2020/12/23 Python
测试工程师职业规划书
2014/02/06 职场文书
《最大的“书”》教学反思
2014/02/14 职场文书
市委常委班子党的群众路线教育实践活动整改措施
2014/10/02 职场文书
祝福语集锦:给妹妹结婚的祝福语
2019/12/18 职场文书
Python快速实现一键抠图功能的全过程
2021/06/29 Python
Python可变集合和不可变集合的构造方法大全
2021/12/06 Python
Python面试不修改数组找出重复的数字
2022/05/20 Python