关于reactive

来源:8-4 Tooltip 编码第二部分 - 支持动态事件

敲代码时长两年半的练习生

2023-08-04

https://img.mukewang.com/szimg/64cd15130955a25414520347.jpg

为什么修改内存地址后 v-on还具有响应式?

写回答

3回答

敲代码时长两年半的练习生

提问者

2023-08-06

我又试了一下,当props更新的时候组件UI也会变化,Date.now()也发生了变化。

后面我把watch都注掉了,也会无条件更新,也就是说props变化子组件无条件变化。

https://img.mukewang.com/szimg/64cfa45709f5781116090774.jpg

https://img.mukewang.com/szimg/64cfa4780954314d04960317.jpg

https://img.mukewang.com/szimg/64cfa47e09f9ddc805760411.jpg

0
0

敲代码时长两年半的练习生

提问者

2023-08-06

这个v-on绑定的对象,能否重新响应式绑定取决于watch监听的属性来自于组件本身还是props以及v-on绑定的对象是否为reactive,在课程代码中是来自props所以可以随意的修改events。

而如果v-on绑定的是普通对象的话,那么watch监听的属性必须来自props,监听自身的_trigger变化是无效的,事件不会重新绑定,需要v-on绑定一个reactive对象

那么,watch监听一个组件本身的值变化和props的值变化,从内部更新逻辑来讲有什么区别呢?

https://img.mukewang.com/szimg/64cf9c170996693b19111072.jpg

0
0

张轩

2023-08-05

同学你好

请看我的最新回复。

0
4
vital_zh
在异步代码中设置事件没有生效 老师上面的代码似乎v-on 普通对象只会绑定同步设置的事件,想要更改事件需要用ref 或者用reactive下面的代码
2023-09-04
共4条回复

进阶必学,打造媲美ElementPlus的组件库

Vue3.3 + TS4 ,自主打造媲美 ElementPlus 的组件库

481 学习 · 219 问题

查看课程