采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,请问一下,如果我在data里定义了noUsed,页面上没有绑定这个noUsed,然后我在某个方法里更新了noUsed,这时vue会更新视图吗? 或者说vue是如何判断的,是进行diff吗?
不会更新视图的,因为你没用到这个 noUsed,就不会触发它的 getter,就不会进行依赖收集。
谢谢老师!
老师,不一定不会更新吧,例如下面的b,页面上没有绑定,但是当c大于3时,b的dep会订阅computed watcher和render watcher,从而下次数据变化会更新视图: new Vue({ el: '#app', template: '<div @click="cPlus">Click Me{{message}}</div>', data(){ return { a: 1, b: 2, c: 3 } }, methods:{ cPlus(){ this.c += 1 } }, computed:{ message(){ if(this.c > 3){ return this.a + this.b } return this.a } } })
b 是计算属性 message 的依赖,而计算属性又在模板中使用了,它的变更会引起视图的重新渲染。而这位同学的提问不是这个含义
登录后可查看更多问答,登录/注册
全方位讲解 Vue.js 源码,进阶高级工程师
3.0k 4
1.5k 20
1.3k 14
1.2k 12
2.2k 12