vue 触发watch,vue中watch监听对象的变化
本文主要介绍了vue(手表的坑及其解决方案)中手表监听器的触发时序,有很好的参考价值。希望对大家有帮助。如有错误或不足之处,请不吝赐教。
目录
手表监听器的触发时间原因代码手表控制台描述了解vue手表的注意事项
watch监听器的触发时机
起因
我需要在页面创建时获取商家的类型id值,然后监控id值,动态改变请求接口的地址。接口请求的功能在挂载状态下执行。写完业务逻辑后,发现第一次加载页面时,界面中没有数据,因为界面地址为空,即界面地址没有变化。
代码
已创建(){
this.typeId=this。$ route . params . id;
console . log( this . typeid 的值改变,触发watch );
},
已安装(){
Console.log (this.typeUrl,“装载的typeUrl的值”);
//访问接口的功能
this . get data();
},
watch
观察:{
//监控订单类型给出的对应面包屑。
typeId:函数(val) {
if (val==1) {
Console.log(手表触发);
This.selfBreadcrumb[1]。name=核销单;
this.typeUrl= settlements
Console.log(this.typeUrl,看这里);
} else if (val==2) {
This.selfBreadcrumb[1]。name=物流订单;
this . typeurl= logistics-orders ;
} else if (val==4) {
This.selfBreadcrumb[1]。name=外卖订单;
this.typeUrl=外卖订单;
}
},
控制台
说明
手表的触发器将在创建和安装结束后触发。
先占个坑。具体原理是怎样的?等我的项目做完了再来康康。
vue watch的理解小记
刚开学的时候,觉得自己懂了。但是,用了才发现自己是渣中之渣。
当试图通过改变路由id来改变组件的加载数据时,会遇到一个问题,即组件将不会被重新呈现。一脸懵逼、
当我找到手表的监控方式时,效果并不好。用了一些扣,赶紧记下来。
首先确认手表是一个物件,而且必须是作为物件使用的。
对象有键和值。
键:是你要监控的家伙,比如$route。这是为了监视路线的变化。或者数据中的变量。值可以是函数:是当你监视的家伙发生变化时需要执行的函数。这个函数有两个参数,第一个是当前值,第二个是更改后的值。值也可以是函数名:但是这个函数名应该用单引号括起来。第三种情况比较严峻。
值是包括选项的对象:选项包括有三个。
第一个处理程序:它的值是一个回调函数。也就是说,在监控到变更时应该执行的功能。二是深:其值是真还是假;确认是否深度监护。(一般情况下,在监控过程中无法监控到对象属性值的变化,但可以听到数组值的变化。)第三个是即时的:它的值是真还是假;确认是否用当前初始值执行处理程序的函数。var vm=new Vue({
数据:{
答:1,
乙:2
},
观察:{
答:函数(val,oldVal) {
console.log(新:%s,旧:%s ,val,oldVal)
},
//方法名称
b:“某种方法”,
//选项的对象
丙:{
处理程序:函数(val,oldVal) { /*.*/},
深:真的,
即时:正确
}
}
})
以上个人经历,希望能给大家一个参考,也希望大家多多支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。