当前位置:首页 > 程序心得 > 正文内容

vue中watch的理解小记

admin6年前 (2019-06-13)程序心得1405

首先确认 watch是一个对象,一定要当成对象来用。 

对象就有键,有值。 

键:就是你要监控的那个家伙,比如说$route,这个就是要监控路由的变化。或者是data中的某个变量。 

值可以是函数:就是当你监控的家伙变化时,需要执行的函数,这个函数有两个形参,第一个是当前值,第二个是变化后的值。 

值也可以是函数名:不过这个函数名要用单引号来包裹。 

第三种情况厉害了。 

值是包括选项的对象:选项包括有三个。


第一个handler:其值是一个回调函数。即监听到变化时应该执行的函数。

第二个是deep:其值是true或false;确认是否深入监听。(一般监听时是不能监听到对象属性值的变化的,数组的值变化可以听到。)

第三个是immediate:其值是true或false;确认是否以当前的初始值执行handler的函数。

var vm = new Vue({

  data: {
        a: 1,
        b: 2
  },
  watch: {
    a: function (val, oldVal) {
          console.log('new: %s, old: %s', val, oldVal)
    },
    // 方法名
    b: 'someMethod',
    // 选项的对象
    c: {
          handler: function (val, oldVal) { /* ... */ },
          deep: true,
          immediate: true
        }
     }
})


分享到:

扫描二维码推送至手机访问。

版权声明:本文由云河空间发布,如需转载请注明出处。

本文链接:http://yuyunhe.cn/index.php/post/295.html

分享给朋友:

“vue中watch的理解小记” 的相关文章

jQuery ajax使用$(this).parent()无效解决方法

本文章来给各位同学介绍一下关于jQuery ajax使用$(this).parent()无效解决方法,希望此方法对各位同学人有所帮助哦html 代码如下复制代码<p class="item"><input type="text" n...

SVN Skipped 'xxx' -- Node remains in conflict 错误的解决办法

svn提交发现错误#cd /home/svn/app/# svn upUpdating '.':Skipped 'xxx' -- Node remains in conflictAt revision 1054.Summary of conflicts: ...

解决在微信内分享第三方链接标题、图片、摘要、链接等问题

<script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script> <script> var imgUrl = docum...

Mysql 触发器使用(含navicat使用案例)

Mysql 触发器使用(含navicat使用案例)

CREATE TRIGGER updateutime2 BEFORE UPDATE on yp_cms_score for EACH ROW BEGIN  SET NEW.utime= ...

MySQL获得当前日期时间\时间戳函数

MySQL获得当前日期时间\时间戳函数 1.1 获得当前日期+时间(date + time)函数:now()mysql> select now();+———————+| now() |+———————+| 2008-08-08 22:20:46 |+———————+除了 now()...

css做屏幕适配

CSS判断不同分辨率浏览器(显示屏幕)显示不同宽度布局CSS3技术支持IE6到IE8。将用到css3 @media样式进行判断,但IE9以下版本不支持CSS3技术,这里DIVCSS5给大家介绍通过JS实现低版本的浏览器也支持CSS3实现实用布局CSS DIV网页布局中当分辨率小于等于1024px(像...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。