Vue props雙向綁定
阿新 • • 發佈:2018-07-10
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雙向綁定