輸入框帶有選擇按鈕,選擇后控制台可以打印選擇后的數據,但並沒有渲染到對應輸入框。由於ES5限制,Vue不能檢測到對象屬性的添加或刪除。因為 Vue在初始化實例時將屬性轉為 getter/setter,所以屬性必須在 data 對象上才能讓 Vue轉換它,才能讓它是響應的.
深入響應式原理
1.$set()方法重新渲染
this.$set(this.student,"age", 24)
2.$forceUpdate方法
this.$forceUpdate();
兩個表單都需要強制刷新,一個強制刷新,一個未強制刷新會導致沒有強制刷新映射不上,如果兩個都強制刷新可能會導致表單跳不過驗證,
解決采用$set()方法渲染
this.$set(this.edit,'productName',row.productName)
3.深拷貝
let name2 = JSON.parse(JSON.stringify(this.name));
或者
this.taskForm = Object.assign({}, this.taskForm)
tip: Object.assign()拷貝當對象中只有一級屬性,沒有二級屬性的時候,此方法為深拷貝,但是對象中有對象的時候,此方法,在二級屬性以后就是淺拷貝。