好比下面的例子:javascript
<div id="app"> {{v1}} <button @click="v3++">點擊</button> </div>
data(){ return { v3: 3, } }, computed: { v1() { return this.v2 }, v2() { return this.v3 } }
v3++,由於v3的get方法中收集了v2的watcher和render的watcher到本身的閉包中,因此++的時候的set方法會致使v2的dirty爲true,並從新renderjava
可是注意v3的閉包中也有v1的watcher,由於v2的get方法被重寫了,頁面上顯示v1的時候,會調用的v3的get方法。因此++的時候v1的dirty也爲true閉包