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 相关文章推荐
jquery 动态创建元素的方式介绍及应用
Apr 21 Javascript
jQuery动态创建html元素的常用方法汇总
Sep 05 Javascript
JavaScript实现同步于本地时间的动态时间显示方法
Feb 02 Javascript
js实现select跳转菜单新窗口效果代码分享(超简单)
Aug 21 Javascript
jQuery模拟完美实现经典FLASH导航动画效果【附demo源码下载】
Nov 09 Javascript
js for循环倒序输出数组元素的实例
Mar 01 Javascript
vue实现todolist单页面应用
Apr 11 Javascript
JS匹配日期和时间的正则表达式示例
May 12 Javascript
深入理解与使用keep-alive(配合router-view缓存整个路由页面)
Sep 25 Javascript
babel7.x和webpack4.x配置vue项目的方法步骤
May 12 Javascript
Vue记住滚动条和实现下拉加载的完美方法
Jul 31 Javascript
vue完美实现el-table列宽自适应
May 08 Vue.js
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
为查询结果建立向后/向前按钮
2006/10/09 PHP
PHP结合JQueryJcrop实现图片裁切实例详解
2014/07/24 PHP
PHP APP微信提现接口代码
2018/09/30 PHP
jQuery搜索子元素的方法
2015/02/10 Javascript
手机开发必备技巧:javascript及CSS功能代码分享
2015/05/25 Javascript
微信+angularJS的SPA应用中用router进行页面跳转,jssdk校验失败问题解决
2016/09/09 Javascript
js放大镜放大购物图片效果
2017/01/18 Javascript
使用vue.js2.0 + ElementUI开发后台管理系统详细教程(二)
2017/01/21 Javascript
详谈Angular 2+ 的表单(一)之模板驱动型表单
2017/04/25 Javascript
jQuery动态添加.active 实现导航效果代码思路详解
2017/08/29 jQuery
vue checkbox 全选 数据的绑定及获取和计算方法
2018/02/09 Javascript
vue与vue-i18n结合实现后台数据的多语言切换方法
2018/03/08 Javascript
使用Nuxt.js改造已有项目的方法
2018/08/07 Javascript
vue实现图书管理系统
2020/12/29 Vue.js
Python3 正在毁灭 Python的原因分析
2014/11/28 Python
python通过colorama模块在控制台输出彩色文字的方法
2015/03/19 Python
利用ctypes提高Python的执行速度
2016/09/09 Python
基于python3 pyQt5 QtDesignner实现窗口化猜数字游戏功能
2019/07/15 Python
python字符串分割及字符串的一些常规方法
2019/07/24 Python
python每5分钟从kafka中提取数据的例子
2019/12/23 Python
html5 div布局与table布局详解
2016/11/16 HTML / CSS
美国婚戒购物网站:Anjays Designs
2017/06/28 全球购物
倩碧英国官网:Clinique英国
2018/08/10 全球购物
意大利珠宝店:Luxury Zone
2019/01/05 全球购物
如何写出好的Java代码
2014/04/25 面试题
室内设计专业个人的自我评价
2013/10/19 职场文书
路政管理专业推荐信
2013/11/11 职场文书
扩大国家免疫规划实施方案
2014/03/21 职场文书
社会工作专业求职信
2014/07/15 职场文书
房地产营销活动策划方案
2014/09/15 职场文书
督导岗位职责
2015/02/04 职场文书
2015学校师德师风工作总结
2015/04/22 职场文书
教师师德工作总结2015
2015/07/22 职场文书
辞职信怎么写?你都知道吗?
2019/06/24 职场文书
Nginx实现负载均衡的项目实践
2022/03/18 Servers
德生TECSUN S-2000使用手册文字版
2022/05/10 无线电