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 25 Javascript
对JavaScript的全文搜索实现相关度评分的功能的方法
Jun 24 Javascript
很不错的两款Bootstrap Icon图标选择组件
Jan 28 Javascript
Bootstrap4一次重大更新 几乎涉及每行代码
May 16 Javascript
js 获取当前web应用的上下文路径实现方法
Aug 19 Javascript
js图片上传前预览功能(兼容所有浏览器)
Aug 24 Javascript
jQuery实现的右下角广告窗体跟随效果示例
Sep 16 Javascript
JavaScript定时器setTimeout()和setInterval()详解
Aug 18 Javascript
Angularjs 手写日历的实现代码(不用插件)
Oct 18 Javascript
vue 设置proxyTable参数进行代理跨域
Apr 09 Javascript
详解如何在nuxt中添加proxyTable代理
Aug 10 Javascript
使用Vue-Awesome-Swiper实现旋转叠加轮播效果&amp;平移轮播效果
Aug 16 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
php模板中出现空行解决方法
2011/03/08 PHP
PHP语言中global和$GLOBALS[]的分析 之二
2012/02/02 PHP
通过php快速统计某个数据库中每张表的数据量
2012/09/04 PHP
php中的比较运算符详解
2013/10/28 PHP
PHP面向对象程序设计实例分析
2016/01/26 PHP
php文件上传后端处理小技巧
2016/05/22 PHP
Symfony2创建基于域名的路由相关示例
2016/11/14 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
2020/02/27 PHP
用window.location.href实现刷新另个框架页面
2007/03/07 Javascript
Extjs4中的分页应用结合前后台
2013/12/13 Javascript
jQuery+slidereveal实现的面板滑动侧边展出效果
2015/03/14 Javascript
详解AngularJs中$resource和restfu服务端数据交互
2016/09/21 Javascript
IOS中safari下的select下拉菜单文字过长不换行的解决方法
2016/09/26 Javascript
Bootstrap Table的使用总结
2016/10/08 Javascript
微信小程序 动态绑定数据及动态事件处理
2017/03/14 Javascript
js 去掉字符串前后空格实现代码集合
2017/03/25 Javascript
selenium 与 chrome 进行qq登录并发邮件操作实例详解
2017/04/06 Javascript
老生常谈JavaScript获取CSS样式的方法(兼容各浏览器)
2018/09/19 Javascript
vue 监听 Treeselect 选择项的改变操作
2020/08/31 Javascript
python实现堆栈与队列的方法
2015/01/15 Python
Python实现八大排序算法
2016/08/13 Python
Python守护进程和脚本单例运行详解
2017/01/06 Python
python中实现指定时间调用函数示例代码
2017/09/08 Python
python实现括号匹配的思路详解
2018/08/23 Python
Pytorch 多维数组运算过程的索引处理方式
2019/12/27 Python
CSS3制作酷炫的条纹背景
2017/11/09 HTML / CSS
AVON雅芳官网:世界上最大的美容化妆品公司之一
2016/11/02 全球购物
Canon佳能美国官方商店:购买数码相机、数码单反相机、镜头和打印机
2016/11/15 全球购物
美国战术品牌:5.11 Tactical
2019/05/01 全球购物
Book Depository美国:全球领先的专业网上书店之一
2019/08/14 全球购物
瑞士男士时尚网上商店:Babista
2020/05/14 全球购物
求职自荐信的格式
2014/04/07 职场文书
技术岗位竞聘演讲稿
2014/05/16 职场文书
酒店温馨提示语
2015/07/14 职场文书
解决Nginx 配置 proxy_pass 后 返回404问题
2021/03/31 Servers
Windows下使用Nginx+Tomcat做负载均衡的完整步骤
2021/03/31 Servers