采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师我发现现在写watchEffect(()=>{ console.log(“abc”); console.log(nameobj.name,nameobj.engName) }) 改变值,没有相关依赖它也会执行console.log(“abc”); ,是更新了吗?
nameobj 没变对吧
nameobj.name、nameobj.engName值发生改变就会执行打印abc。但是视频里是没有执行打印的。老师可以试一下
它就是自动侦听nameobj对象呀,这个nameobj有任何变化,它都会执行。你这里,就是执行console.log。
然后,watchEffect和watch一个显著的区别就是——watch是有惰性的(lazy),即只有nameobj对象有变化时才执行,但watchEffect无需,其是无惰性的,nameobj在未变化时,即初始化时,就会执行,这里也就是console.log也会被执行。
所以,这里并不是说,没有依赖它也执行了console.log(“abc”),而是即使依赖没有变化,初始化时,也执行了console.log(“abc”)。
是的,但是老师在视频里演示nameobj.name、nameobj.engName值发生改变的时console.log(“abc”)不会执行。我自己尝试它时会执行的
变化时,应该会执行的呢!我也是边看,边自己敲代码,我映像中,我敲的代码执行时,发生改变也会执行的。
登录后可查看更多问答,登录/注册
明星讲师DELL亲授,全方位知识点+高匹配度项目,入门到深度掌握
260 1
1.4k 18
1.3k 14
1.1k 12
1.0k 11