目录

vue3学习笔记第150-151节computed计算属性watch监视ref定义的数据

【vue3学习笔记】(第150-151节)computed计算属性;watch监视ref定义的数据

本篇内容对应课程第150-151节

课程 P150节 《computed计算属性》笔记

https://i-blog.csdnimg.cn/blog_migrate/a9998f792fcde3fc218e84b320b97725.png

写一个简单的 姓、名输入框效果:

https://i-blog.csdnimg.cn/blog_migrate/29f721191d12a559a367b4033c9f3bc4.png

https://i-blog.csdnimg.cn/blog_migrate/346380b115f305fc5c4a194141037dc5.png

用vue2的形式定义一个计算属性 fullName:

https://i-blog.csdnimg.cn/blog_migrate/153eb54e0bf569049e8e28d23b951a05.png

测试页面展示无问题:

https://i-blog.csdnimg.cn/blog_migrate/fe1f05764078f24f7cf9e7253719794c.png

但是,在vue3的项目里,不建议再使用 vue2 的东西。

使用 vue3 的计算属性定义 fullName:

https://i-blog.csdnimg.cn/blog_migrate/21ec95c8942e42af64a9db9d3d0cb37c.png

观察页面展示无问题:

https://i-blog.csdnimg.cn/blog_migrate/0027061bf3000af314c2f0ae99d36025.png

将 fullName 作为一个属性放到 person 对象上,由于 person 是用 reactive 定义的响应式数据,所以 fullName 也是响应式的:

https://i-blog.csdnimg.cn/blog_migrate/6c2ddb833f6eedd3b04f1909162a2497.png

这是没有考虑 fullName 被修改的情况:

https://i-blog.csdnimg.cn/blog_migrate/4d41aab6712b45c9d916b1a017f681a6.png

当试着修改这个计算属性时,控制台会报出警告:

https://i-blog.csdnimg.cn/blog_migrate/8f3bcb22fbc9a998bae0a63539b8a8d1.png

计算属性考虑读和写两种情况的完整写法是传递一个对象,里面有 getter 函数和 setter 函数:

https://i-blog.csdnimg.cn/blog_migrate/37c91f950c74a1f967a08b338dc00c77.png

此时就可以修改计算属性了:

https://i-blog.csdnimg.cn/blog_migrate/6fab5c5768d1fae9f1fe5e9b96fff96e.png

总结计算属性:

https://i-blog.csdnimg.cn/blog_migrate/a20f1b4a5b4b68cab1aef9ff28ea259c.png

课程 P151节 《watch监视ref定义的数据》笔记

vue2中的写法:

https://i-blog.csdnimg.cn/blog_migrate/2f6e73a044f661cfc584b9ea7e442993.png

vue3中的写法:

https://i-blog.csdnimg.cn/blog_migrate/6f858d673210a4d73176f76bd7e8ce12.png

https://i-blog.csdnimg.cn/blog_migrate/11adc41247debcd025b1d54ebe3f0d23.png

https://i-blog.csdnimg.cn/blog_migrate/0e814f92a724fe35d77bfea14b43349f.png

https://i-blog.csdnimg.cn/blog_migrate/3a8872f0c8f26323e8767f81c94b0ec8.png

https://i-blog.csdnimg.cn/blog_migrate/93b83ee345769e47512e60135ff0d56e.png

https://i-blog.csdnimg.cn/blog_migrate/01c40df2a23e3360c490acf3dbb12751.png

https://i-blog.csdnimg.cn/blog_migrate/9ebd3d5aace07d7d730e108e62d8fb79.png

https://i-blog.csdnimg.cn/blog_migrate/3bddb79abb13cf6087420b494ce605ba.png

https://i-blog.csdnimg.cn/blog_migrate/3d5ca94bcfbe13c7f98b2f9c51a8360a.png

https://i-blog.csdnimg.cn/blog_migrate/5df7dc406a3bd3cd5e9e21a32a68037f.png