示例**如下
"bar"
>
<
/comp>
會被擴充套件為:
"bar" @update:foo=
"val => bar = val"
>
<
/comp>
當子元件需要更新 foo 的值時,它需要顯式地觸發乙個更新事件:
this
.$emit
('update:foo'
, newvalue)
猛一看不明白,下邊通過乙個例項(彈窗的關閉事件)來說明這個**到底是怎麼運用的
="details"
>
'valuechild' style=
"padding: 30px 20px 30px 5px;border:1px solid #ddd;margin-bottom: 10px;"
>
<
/mycomponent>
"changevalue"
>toggle<
/button>
<
/div>
<
/template>
import vue from
'vue'
vue.
component
('mycomponent'
,},所以是顯示的關閉`
, props:
['show'],
methods:}}
)export
default},
methods:}}
<
/script>
vue 修飾符sync的功能是:當乙個子元件改變了乙個 prop 的值時,這個變化也會同步到父元件中所繫結。如果我們不用.sync,我們想做上面的那個彈窗功能,我們也可以props傳初始值,然後事件監聽,實現起來也不算複雜。這裡用sync實現,只是給大家提供乙個思路,讓其明白他的實現原理,可能有其它複雜的功能適用sync。 深入理解 sync修飾符
乙個元件上只能定義乙個v model,如果其他prop也要實現雙向繫結的效果該怎麼辦呢?簡單的方法是子元件向父元件傳送乙個事件,父元件監聽該事件,然後更新prop。具體如下 info.vue元件定義了乙個value 屬性,和乙個valuechanged事件 父元件index.vue myvalue ...
深入解讀Vue修飾符sync
在一些情況下,我們可能會需要對乙個 prop 父子元件傳遞資料的屬性 進行 雙向繫結 在vue 1.x 中的 sync 修飾符所提供的功能。當乙個子元件改變了乙個帶 sync 的prop的值時,這個變化也會同步到父元件中所繫結的值。這很方便,但也會導致問題,因為它破壞了單向資料流。資料自上而下流,事...
關於vue修飾符 sync
vue是單項資料流,所以要對他進行雙向資料繫結的時候需要用到.sync修飾符,最常用的是visible.sync 在子元件裡寫 this.emit update visible visible 使用update my prop name 的模式觸發事件 父元件裡 isvisible update v...