Vue父子元件資料雙向繫結,子元件可修改props

2022-05-14 11:05:05 字數 886 閱讀 4856

第一種,子元件通過監聽父元件資料,子元件改變資料之後通知給父元件

父元件 => props[parent-data] => 子元件 => watch[parent-data] => children-data = parent-data // 子元件監聽父元件的改變

子元件 => $emit[children-data] => 父元件 => parant-data = children-data // 子元件通知父元件自身的改變

//

父元件

//

子元件

第二種 .sync 修飾符 

在vue的元件通訊props中,一般情況下,資料都是單向的,子元件不會更改父元件的值

那麼vue提供.sync作為雙向傳遞的關鍵字,實現了父元件的變動會傳遞給子元件,而子元件的foo改變時,通過事件機制,修改父元件的foo。完成了子元件newfoo和父元件foo的雙向對映。

//

父元件

//

子元件props: ['foo'],

data

() },

methods:

}

在一些情況下,可能會對乙個props進行'雙向繫結',事實上 , '.sync'修飾符提供了此功能

//.sync修飾符

sth=value">

this.$emit('update:foo',newvalue)

同時父元件@update:foo 也是依賴子元件的顯示觸發,這樣可以輕鬆的捕捉到了資料的正常流動

warn: 子元件改變父元件的資料時,update冒號後面的引數和父元件傳遞進來的值是同步的,想改變哪個,則冒號後面的值對應的就是哪個,兩者相互對應,必填

實踐筆記 vue父子元件資料雙向繫結

背景 vue設計中props為單向資料流,即props資料在父元件進行修改,並流向子元件。而在子元件裡只能對props資料進行讀取,不能進行修改,否則會觸發報錯。為了達到在子元件裡修改props值的要求,需要通過以下2步來實現 1.父元件使用子元件時給prop值 value 新增.sync修飾符 2...

Vue 父子元件雙向資料繫結

產生原因 父組建向子組建傳值是通過props傳遞值,由於props是單向資料流,所以子組建需要向父組建更新資料時無法傳遞,此時,這時候就需要用到如下方法 父組建 正常傳遞資料 data myinput sync傳遞資料 data myinput 子組建 子組建正常使用props引入資料 props ...

vue2 0父子元件雙向繫結

父元件 如下。這裡要注意的有 1.父組建使用msg向子元件傳遞資料。2.子附件向父附件傳送 訊息,父元件收到訊息後用abc方法來處理。type text v model msg inputvalue msg v on abc child div template style import child...