笔记-watch和computed

1,支持缓存?支持异步操作?
2,什么时候会改变?
3,watch使用?

笔记参考面试题64:computer和watch的区别_The..Fuir的博客-CSDN博客Vue中watch的详细用法(三种)_vue中watch的用法_韭菜的自我修养_的博客-CSDN博客

——————————————————————————————————————

computed:重视结果

1,支持缓存,当依赖的数据发生变化后,才会重新计算。

2,不支持异步操作,computed必须return结果,return不能等到异步操作结束。

3,computed中不能对data中的属性进行赋值操作,如果对data中的属性进行赋值,data中的属性发生变化,从而触发computed中的函数,就会形成死循环。

watch:重视过程,监听值

1,不支持缓存

2,支持异步操作

3,watch监听的函数接收两个参数,第一个参数是最新的值,第二个是变化之前的值

3,第一次绑定的时候 不会执行监听函数,只有当值改变的时候 才会执行

      需要绑定时即执行监听函数,设置:immediate为true

      当需要监听对象的改变时,设置deep为true

        data (){
			return {
				cityName: {name:'xxx'}
			}
		},


       watch: {
			cityName: {
				handler(newName, oldName) { //自带两个参数,旧数据,新数据
					console.log(newName)
				},
				immediate: true,  //第一次绑定的时候执行此监听函数
				deep: true        //监听对象
			}
		}

引用\[1\]中提到,Vue中的watch用于观察Vue实例内数据的变动,而computed用于自动计算内部数据的属性。具体来说,watch是一个对象,其中的每个属性都是一个函数,当被观察的数据发生变化时,对应的函数会被调用。而computed是一个对象,其中的每个属性都是一个函数,用于计算和返回一个新的属性值,这个属性值会根据依赖的数据自动更新。\[1\] 引用\[2\]中提到,Vue3.0中的生命周期函数的命名方式发生了变化,现在以"on"开头,并且需要写在setup函数中。这是因为Vue3.0采用了Composition API的方式,将组件的逻辑拆分成更小的函数,使得代码更加清晰和可维护。\[2\] 引用\[3\]中提到,每次父级组件发生更新时,子组件中所有的prop都会刷新为最新的值。这意味着在子组件内部不应该改变prop的值,否则Vue会在浏览器的控制台中发出警告。这是因为Vue遵循单向数据流的原则,父组件传递给子组件的数据应该是只读的,子组件应该通过事件来通知父组件进行数据的修改。\[3\] #### 引用[.reference_title] - *1* *3* [vue 学习笔记](https://blog.csdn.net/weixin_34378045/article/details/88724600)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [【 Vue 3.0 初探 】](https://blog.csdn.net/Kelly_yml/article/details/110245059)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值