失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > vue中computer和watch的区别和使用

vue中computer和watch的区别和使用

时间:2023-01-02 05:24:29

相关推荐

vue中computer和watch的区别和使用

vue中computer和watch的区别和使用

众所周知computer和watch都是用作监听某些变量使用的

也就是说当某一个数据发生变化的时候,所有依赖这个数据的“相关”数据“自动”发生变化,也就是自动调用相关的函数去实现数据的变动。

他们两个的左右除了监听数据以外还可以让代码变得简洁,没有过多地赘余混乱

有什么区别呢:

puted是计算属性,实际上和data对象里的数据属性是差不多的(使用上)。

2.watch:类似于监听机制+事件机制。(监听某个变量,里面可以运行事件)

watch和computed各自处理的数据关系场景不同

1.watch擅长处理的场景:一个数据影响多个数据

puted擅长处理的场景:一个数据受多个数据影响

computer

一个数据被多个数据影响

computed: {count() {return (this.list[0].num + this.list[1].num) * this.c;},},

这里就相当于定义了一个名为count的变量

这个变量受 this.list[0].num this.list[1].num this.c 这三个变量的影响

只要这 三个变量其中一个变化 count这个变量也会变化

在页面中展示(和data里面定义的一样):

<p>count:{{count }}</p>

获取使用(和data里面定义的一样):

console.log(this.count);

使用场景:

购物车(常用)等待大佬们的补充

watch

一个数据将多个数据影响

data() {return {a: 1,shipStatusArr: {name: 'zhangsanlisi',age: 12}}},watch: {a: function (newValue, oldVal) {//更新后的值 更新前的值console.log( newValue, oldVal )},//数组对象型 深度监听shipStatusArr: {handler(newValue, oldValue) {console.log(newValue, oldValue)},deep: true // 深度监听immediate: true//进入组件的时候,第一次并不会执行watch,只有值发生改变才会执行 , 是因为immediate 默认 false//当 immediate = true 的时候,进入组件会立即执行。并且可以监测到组件传递数据。回调将会在侦听开始之后被立即调用。}}

使用场景:

搜索清空相关联的数据(当某个字段和某些字段有关联时,当第一个字段变化时让其他字段清空)等待大佬们的补充

点个关注支持一下我吧

如果觉得《vue中computer和watch的区别和使用》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。