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温习的一些笔记 基础常用知识小结
Jun 22 Javascript
Prototype的Class.create函数解析
Sep 22 Javascript
禁用页面部分JavaScript方法的具体实现
Jul 31 Javascript
使用javascript控制cookie显示和隐藏背景图
Feb 12 Javascript
RequireJS多页面应用实例分析
Jun 29 Javascript
从零学习node.js之express入门(六)
Feb 25 Javascript
(模仿京东用户注册)用JQuery实现简单表单验证,初学者必看
Jan 08 jQuery
javascript闭包的使用之按钮切换功能
Aug 30 Javascript
用Cordova打包Vue项目的方法步骤
Feb 02 Javascript
webpack打包html里面img后src为“[object Module]”问题
Dec 22 Javascript
微信小程序动态添加和删除组件的现实
Feb 28 Javascript
JS如何生成随机验证码
Mar 02 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 date与gmdate的获取日期的区别
2010/02/08 PHP
PHP实现提取一个图像文件并在浏览器上显示的代码
2012/10/06 PHP
PHP利用header跳转失效的解决方法
2014/10/24 PHP
PHP简单获取及判断提交来源的方法
2016/04/22 PHP
解决laravel5.4下的group by报错的问题
2019/10/16 PHP
php post换行的方法
2020/02/03 PHP
js parsefloat parseint 转换函数
2010/01/21 Javascript
jquery tab插件制作实现代码
2010/06/22 Javascript
JQuery EasyUI 数字格式化处理示例
2014/05/05 Javascript
jQuery.form插件的使用及跨域异步上传文件
2016/04/27 Javascript
通过JS获取Request.QueryString()参数的值实现方法
2016/09/27 Javascript
Vue.js对象转换实例
2017/06/07 Javascript
zTree树形插件异步加载方法详解
2017/06/14 Javascript
基于JS实现移动端左滑删除功能
2017/07/28 Javascript
微信小程序授权获取用户详细信息openid的实例详解
2017/09/20 Javascript
10分钟上手vue-cli 3.0 入门介绍
2018/04/04 Javascript
webpack项目轻松混用css module的方法
2018/06/12 Javascript
angularJs中$http获取后台数据的实例讲解
2018/08/08 Javascript
从vue源码解析Vue.set()和this.$set()
2018/08/30 Javascript
ES6箭头函数和扩展实例分析
2020/05/23 Javascript
你不知道的 TypeScript 高级类型(小结)
2020/08/28 Javascript
[01:01:25]DOTA2上海特级锦标赛B组资格赛#2 Fnatic VS Spirit第三局
2016/02/27 DOTA
[57:59]完美世界DOTA2联赛循环赛 Ink Ice vs LBZS BO2第一场 11.05
2020/11/05 DOTA
简单介绍Python中的JSON模块
2015/04/08 Python
Django 实现admin后台显示图片缩略图的例子
2019/07/28 Python
基于python3.7利用Motor来异步读写Mongodb提高效率(推荐)
2020/04/29 Python
tensorflow 2.0模式下训练的模型转成 tf1.x 版本的pb模型实例
2020/06/22 Python
Python读取xlsx数据生成图标代码实例
2020/08/12 Python
德国BA保镖药房中文网:Bodyguard Apotheke
2021/03/09 全球购物
请解释virtual关键字的含义
2015/06/17 面试题
linux面试题参考答案(8)
2016/04/19 面试题
早读迟到检讨书
2014/01/24 职场文书
推荐信模板
2014/05/09 职场文书
媒矿安全生产承诺书
2014/05/23 职场文书
商业计划书格式、范文
2019/03/21 职场文书
Win11 25163.1010更新补丁KB5016904推送,测试服务验证管道(附更新修复汇总)
2022/07/23 数码科技