1. 程式人生 > >Vue props雙向綁定

Vue props雙向綁定

cover computed 方法 ima reac 技術分享 click 技術 組件

props是不能改變的

項目裏遇到一個問題,就是props的組件內是不能改變,就像react中的props值也是不能改變的,

所以我在用的時候竟然忽略了這個點。真的要反省反省, 下面就是這個報錯的問題:

use a data or computed property based on the prop‘s value

如何雙向綁定

我做的是一個彈框的組件讓在父組件調用,關閉和開啟

子組件:這樣

    <section class="app-body" v-if="myShare">
        <div class="cover" @click="closeMask"></div>
    </section>

props

技術分享圖片

技術分享圖片

  watch: {
    result(val) {
      console.log("監聽的值" + val);
      this.myShare = val; //監聽外部對props屬性result的變更,並同步到組件內的data屬性中
    },
    myShare(val) {
      console.log("改變的值" + val);
      this.myShare = val;
      //this.$emit("closeMask", val); //組件內對變更後向外部發送事件通知
    }
  },

也就是用 一個新的值賦給 那個props 穿過來的值,

父組件是

 <share-mask :shareActivity="shareActivity" @closeMask="closeMask" ref="shareMask"/>

技術分享圖片

然後調用 子組件 內的 關閉 彈框的 方法。

就是這樣 ,今天需要好好反省下,props 不能改變的都忘了,唉

Vue props雙向綁定