我們知道,在vue的元件通訊props中,一般情況下,資料都是單向的,即父元件資料的更改會下傳到子元件(用了.once除外),子元件對資料無法做出更改(當傳遞的資料是引用資料型別時,可以更改父元件資料,比如,陣列的破壞性方法,push等)。在vue1.x時,提供.sync作為雙向傳遞的關鍵字,但是2.0刪除了該修飾符,但是!!2.3+又恢復了使用,採用的事件機制。下面我就簡述一下怎麼使用。
使用物件:子元件(元件名addicon)&&父元件或者根例項。
首先看子元件:
1.props宣告
首先要在子元件選項資料內宣告要傳遞的資料:
props: ['message', 'discount', 'keys', 'indexs', 'fooditem', 'cart', 'cartarray'],//我們只拿cart做實驗
同時給子元件乙個自己的屬性:
data: function ()
},
2.html中繫結
在html屬性內動態繫結
3.事件發布
子元件資料的改變必然有事件觸發,**需要改變cart,就在**發布事件:
methods:
}
再看父元件
父元件需要繫結事件監聽:
如此一來,便實現了雙向繫結,子元件carts屬性接受父元件或根例項的初始資料,父元件的變動會傳遞給子元件,而子元件的carts改變時,通過事件機制,修改父元件的cart。完成了子元件carts和父元件cart的雙向對映。
vue元件中的 sync修飾符使用
sync是vue中用於實現簡單的 雙向繫結 的語法糖,在平時的開發中是經常使用的。在vue的元件通訊props中,一般情況下,資料都是單向的,子元件不會更改父元件的值,那麼vue提供.sync作為雙向傳遞的關鍵字,實現了父元件的變動會傳遞給子元件,而子元件的show改變時,通過事件機制,修改父元件的...
關於vue修飾符 sync
vue是單項資料流,所以要對他進行雙向資料繫結的時候需要用到.sync修飾符,最常用的是visible.sync 在子元件裡寫 this.emit update visible visible 使用update my prop name 的模式觸發事件 父元件裡 isvisible update v...
modal元件的 sync修飾符
之前工作中在自定義元件時有用到modal元件,官方文件裡都會在modal裡寫 visible.sync visible on close close sync修飾符 當值更新時,會顯示觸發更新事件 而子元件接受父元件傳值時,不能對其直接進行改變 因此,自定義元件裡要把這個修飾符去掉,不然關閉moda...