Vue数据监听方法watch的使用


Posted in Javascript onMarch 28, 2018

watch本身很容易理解, watch负责将视图中的数据与某个函数关联起来

当Vue视图中的数据变化时, 关联的函数会被执行

Vue数据监听方法watch的使用

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>监听方法watch的使用</title>
  <script src="https://cdn.bootcss.com/vue/2.5.16/vue.js"></script>
</head>
<body>
  <div id="root"></div>
  <script>
    var vm = new Vue({
      el: "#root",
      data: { obj: {name: "zhaoolee", age: 12} , tel:6666666},
      template: `<div><div>姓名: {{obj.name}}</div>
        <div>电话: {{tel}}</div>
        <input type="text" v-model="obj.name">
        <input type="text" v-model="tel"></div>`,
      watch: {
        obj: {
         handler(){
           console.log("obj被改变");
         },
          // 页面加载之初先执行一次handle
         immediate: true,
          // 深度检查属性,即使对象内部的属性值改变, 也能检测到(比较消耗性能)
         deep: true
        },
        "obj.name": {
          handler(){
            console.log("=>obj.name被改变");
          }
        },
        tel:{
          handler(){
            console.log("tel被改变");
          }
        }
      }
    })
  </script>
</body>
</html>

对应一个对象,键是观察表达式,值是对应回调。值也可以是方法名,或者是对象,包含选项。在实例化时为每个键调用 $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 相关文章推荐
javascript 图片上一张下一张链接效果代码
Mar 12 Javascript
js创建数据共享接口——简化框架之间相互传值
Oct 23 Javascript
jquery实现文本框数量加减功能的例子分享
May 10 Javascript
javascript实现锁定网页、密码解锁效果(类似系统屏幕保护效果)
Aug 15 Javascript
浅谈javascript 迭代方法
Jan 21 Javascript
javascript中eval和with用法实例总结
Nov 30 Javascript
js判断当前页面用什么浏览器打开的方法
Jan 06 Javascript
快速解决jquery.touchSwipe左右滑动和垂直滚动条冲突
Apr 15 Javascript
深入剖析javascript中的exec与match方法
May 18 Javascript
详解jquery选择器的原理
Aug 01 jQuery
Cpage.js给组件绑定事件的实现代码
Aug 31 Javascript
vuex实现像调用模板方法一样调用Mutations方法
Nov 06 Javascript
Vue 自定义动态组件实例详解
Mar 28 #Javascript
详解VUE 对element-ui中的ElTableColumn扩展
Mar 28 #Javascript
微信小程序之分享页面如何返回首页的示例
Mar 28 #Javascript
js中el表达式的使用和非空判断方法
Mar 28 #Javascript
JS实现左边列表移到到右边列表功能
Mar 28 #Javascript
JS中用EL表达式获取上下文参数值的方法
Mar 28 #Javascript
jQuery实现文字超过1行、2行或规定的行数时自动加省略号的方法
Mar 28 #jQuery
You might like
Javascript hasOwnProperty 方法 &amp; in 关键字
2008/11/26 Javascript
JS操作Cookies包括(读取添加与删除)
2012/12/26 Javascript
不用构造函数(Constructor)new关键字也能实现JavaScript的面向对象
2013/01/11 Javascript
JavaScript获取和设置CheckBox状态的简单方法
2013/07/05 Javascript
使用JQuery快速实现Tab的AJAX动态载入(实例讲解)
2013/12/11 Javascript
jQuery on()方法使用技巧详解
2015/04/16 Javascript
js实现点击链接后延迟3秒再跳转的方法
2015/06/05 Javascript
在Javascript中处理字符串之big()方法的使用
2015/06/08 Javascript
巧方法 JavaScript获取超链接的绝对URL地址
2016/06/14 Javascript
详解Vue中过度动画效果应用
2017/05/25 Javascript
node的process以及child_process模块学习笔记
2018/03/06 Javascript
JavaScript实现多张图片放大镜效果示例【不限定图片尺寸,rem单位】
2019/05/14 Javascript
微信小程序实现消息框弹出动画
2020/04/18 Javascript
Smartour 让网页导览变得更简单(推荐)
2019/07/19 Javascript
详解Vue中CSS样式穿透问题
2019/09/12 Javascript
解决vue 使用setTimeout,离开当前路由setTimeout未销毁的问题
2020/07/21 Javascript
vue 出现data-v-xxx的原因及解决
2020/08/04 Javascript
Python 代码性能优化技巧分享
2012/08/07 Python
对python内置map和six.moves.map的区别详解
2018/12/19 Python
Python实现网页截图(PyQT5)过程解析
2019/08/12 Python
Python列表list操作相关知识小结
2020/01/29 Python
python opencv把一张图片嵌入(叠加)到另一张图片上的实现代码
2020/06/11 Python
pytorch查看模型weight与grad方式
2020/06/24 Python
CSS3弹性盒模型开发笔记(二)
2016/04/26 HTML / CSS
CSS3 实现时间轴动画
2020/11/25 HTML / CSS
Perfumetrader荷兰:香水、化妆品和护肤品在线商店
2017/09/15 全球购物
Lookfantastic瑞典:英国知名美妆购物网站
2018/04/06 全球购物
银行会计业务的个人自我评价
2013/11/02 职场文书
令人啧啧称赞的经理推荐信
2013/11/07 职场文书
电气工程师岗位职责
2014/01/01 职场文书
教师绩效工资方案
2014/02/01 职场文书
草船借箭教学反思
2014/02/03 职场文书
学雷锋活动总结报告
2014/06/26 职场文书
2015年电话销售工作总结范文
2015/04/20 职场文书
Windows11插耳机没反应怎么办? win11耳机没声音的多种解决办法
2021/11/21 数码科技
Vue的生命周期一起来看看
2022/02/24 Vue.js