1. 程式人生 > >Vue,實現元件屬性的雙向繫結方式

Vue,實現元件屬性的雙向繫結方式

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上 } },