Vuejs中的watch实例详解(监听者)
程序员文章站
2022-03-20 18:23:28
最近刚刚追完庆余年,心思还总是在剧情里,然后就觉得在vuejs里watch就是监察院,一个不折不扣的特务机构。在vue中watch被称为监听者,它随时观察这vue实例中每一个数据的变化...
最近刚刚追完庆余年,心思还总是在剧情里,然后就觉得在vuejs里watch就是监察院,一个不折不扣的特务机构。在vue中watch被称为监听者,它随时观察这vue实例中每一个数据的变化,当数据发生改变,做出响应。
通过下面的示例代码来看一下这个监察院是怎么运作的:
new vue({ el:"#app", data(){ reutrn { candy:"" } }, //传说中的监察院start watch:{ candy:{ handler(newval,oldval){ }, immediate: true, deep:true } } //传输中的监察院end }) /*** watch中监控这candy这个数据的变化, handler中传入了两个参数: newval->是改变后的数据 oldval->是改变前的数据 ***/
按照庆余年的剧情分析,监察院在监控candy这个人,一旦candy发生变节,就会执行handler中的操作,newval和oldval就好像是提供给监察院人员来判断如果candy是内部斗争还是叛国,根据情节处以什么样的处罚。
代码中 immediate 和 deep 又是什么意思呢?
immediate和deep像是庆帝给陈萍萍的指令:
immediate为true是告诉监察院不管candy有没有变节,都先给他点处罚,敲山震虎!
deep为true是告诉监察院往深了查,看看有没有什么人跟这个人联络了,联络以后又发生了事!
写这篇文章的时候,我也在跟朋友探讨watch和updated,updated也是在数据发生改变的时候做出相应,但是如果将updated说成是监察院就感觉太喽了!updated不能指定监测数据,只要有数据发生变化就会指向updated中的方法,不管谁发生变化都会执行,这么不灵活怎么能配的上监察院这么厉害的特务机构呢!嘻嘻!
总结
以上所述是小编给大家介绍的vuejs中的watch实例详解,希望对大家有所帮助!