Vue,實現元件屬性的雙向繫結方式
阿新 • • 發佈:2018-12-23
prop 是單向繫結的:當父元件的屬性變化時,將傳導給子元件,但是不會反過來
A 中 呼叫 B 這個元件 A表示的就是父元件 B表示的就是子元件 如果父元件的值發生了變化,將會傳導給子元件,但是子元件中發生了變化,由於原來子元件的資料已經展示出來,再次修改則無法直接顯示資料修改
解決的辦法如下
在子元件的內部
Vue.component("switchbtn", {
template: "<div @click='change'>{{myResult?'開':'關'}}</div>",
props: ["result"], // 存貯父元件傳過來的值
data: function () {
return {
myResult: this.result // 在data中我們重新宣告一個值來存放 父元件傳遞過來的值
};
},
// 給父元件傳過來的值 props: ["result"], result 進行監聽
watch: {
result(val) {
this.myResult = val;//新增result的watch,監聽變更並同步到myResult上
}
},