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中几个重要的属性(this、constructor、prototype)介绍
May 19 Javascript
js关闭浏览器窗口及检查浏览器关闭事件
Sep 03 Javascript
用JS在浏览器中创建下载文件
Mar 05 Javascript
JavaScript实现N皇后问题算法谜题解答
Dec 29 Javascript
JS+CSS实现可拖拽的漂亮圆角特效弹出层完整实例
Feb 13 Javascript
JavaScript生成二维码图片小结
Dec 27 Javascript
AngularJs html compiler详解及示例代码
Sep 01 Javascript
Javascript的动态增加类的实现方法
Oct 20 Javascript
Javascript同时声明一连串(多个)变量的方法
Jan 23 Javascript
node.js利用redis数据库缓存数据的方法
Mar 01 Javascript
解决jQuery ajax动态新增节点无法触发点击事件的问题
May 24 jQuery
underscore之function_动力节点Java学院整理
Jul 11 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
PHPWind 发帖回帖Api PHP版打包下载
2010/02/08 PHP
php的sprintf函数的用法 控制浮点数格式
2014/02/14 PHP
php简单实现无限分类树形列表的方法
2015/03/27 PHP
PHP 7的一些引人注目的新特性简单介绍
2015/11/08 PHP
实例讲解PHP验证邮箱是否合格
2019/01/28 PHP
JavaScript 检测浏览器和操作系统的脚本
2008/12/26 Javascript
关于JQuery($.load)事件的用法和分析
2013/04/09 Javascript
jquery 取子节点及当前节点属性值的方法
2014/08/24 Javascript
jquery分割字符串的方法
2015/06/24 Javascript
js模拟淘宝网的多级选择菜单实现方法
2015/08/18 Javascript
判断js的Array和Object的实现方法
2016/08/29 Javascript
JavaScript 闭包详细介绍
2016/09/28 Javascript
JavaScript 继承详解(五)
2016/10/11 Javascript
详解nodejs express下使用redis管理session
2017/04/24 NodeJs
详解vuex 中的 state 在组件中如何监听
2017/05/23 Javascript
JavaScript寄生组合式继承实例详解
2018/01/06 Javascript
微信小程序实现发送验证码按钮效果
2018/12/20 Javascript
大转盘抽奖小程序版 转盘抽奖网页版
2020/04/16 Javascript
ES6的解构赋值实例详解
2019/05/06 Javascript
Vue路由模块化配置的完整步骤
2019/08/14 Javascript
Vue+ElementUI table实现表格分页
2019/12/14 Javascript
[07:08]2014DOTA2西雅图国际邀请赛 小组赛7月11日TOPPLAY
2014/07/11 DOTA
python Manager 之dict KeyError问题的解决
2019/12/21 Python
Python叠加矩形框图层2种方法及效果
2020/06/18 Python
keras在构建LSTM模型时对变长序列的处理操作
2020/06/29 Python
解决python便携版无法直接运行py文件的问题
2020/09/01 Python
医学生自荐信范文
2013/12/03 职场文书
数学教学随笔感言
2014/02/17 职场文书
党员创先争优承诺书
2014/03/26 职场文书
请假条范文大全
2014/04/10 职场文书
小学国旗下的演讲稿
2014/08/28 职场文书
债务追讨律师函
2015/06/24 职场文书
如何做好员工培训计划?
2019/07/09 职场文书
祝福语集锦:送给毕业同学祝福语
2019/11/21 职场文书
python数字转对应中文的方法总结
2021/08/02 Python
Python if else条件语句形式详解
2022/03/24 Python