爲什麼我vue裏明明值改變了,watch監聽不到
這個是boxSelect 對象,我把1的值改成true後,watch沒有監聽到
官方沒有解釋清楚。我一開始boxSelect賦值爲空對象,這樣 後續添加上去後 他就監聽不到了。只能監聽到一開始賦值對象裏面的屬性。還有個解決辦法就是將一個對象賦值給這個boxSelect對象。
你保存了嗎?是不是有緩存?
官方文檔講的很清楚,監聽是註冊的時候對屬性批量使用Object.defineProperty方法實現的,所以後添加的屬性不會監聽
給空對象添加監聽的屬性要通過
this.$set(this.boxSelect, [屬性名], [屬性值])`
如下:this.$set(this.ptjbxxForm, 'pversion', this.ptjbxxForm.pversion)
中間變量記得加引號
僅僅使用點對象賦值法vue是監聽不到的,文檔裏有解釋到.