采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
为什么修改内存地址后 v-on还具有响应式?
我又试了一下,当props更新的时候组件UI也会变化,Date.now()也发生了变化。
后面我把watch都注掉了,也会无条件更新,也就是说props变化子组件无条件变化。
这个v-on绑定的对象,能否重新响应式绑定取决于watch监听的属性来自于组件本身还是props以及v-on绑定的对象是否为reactive,在课程代码中是来自props所以可以随意的修改events。
而如果v-on绑定的是普通对象的话,那么watch监听的属性必须来自props,监听自身的_trigger变化是无效的,事件不会重新绑定,需要v-on绑定一个reactive对象。
那么,watch监听一个组件本身的值变化和props的值变化,从内部更新逻辑来讲有什么区别呢?
同学你好
请看我的最新回复。
老师你的代码总是让我感到扑朔迷离,我还是不理解它被重新整体赋值后能响应式的原因,我以前写的代码都是无法响应式的,刚刚写了个demo也是不行,究竟是为什么? 文档中也有说不能整体重新赋值- -
同学你好 谢谢你的发现,这里我回答的不准确,之前将问题理解为另外一个意思了,假如是重新赋值,确实是会失去响应式。 这里这个事件对象,其实不需要是响应式对象,普通对象就可以,v-on 会根据对象的值重新绑定对象,所以这里的代码也有小问题, reactive 并不是必须的,直接换成普通对象也完全 OK。
经过我不懈的探索,我终于发现了端倪,老师请看我最新发在评论区的留言~
登录后可查看更多问答,登录/注册
Vue3.3 + TS4 ,自主打造媲美 ElementPlus 的组件库
419 12
492 10
287 9
115 9
156 8