vue的元件通訊

2021-10-10 02:25:50 字數 1457 閱讀 6826

父元件與子元件傳值

父元件傳給子元件:子元件通過props方法接受資料;

//父元件

《子元件 屬性1

="值" 屬性2

="值"

>

<

/子元件》

《子元件 :屬性=

"變數"

>

<

/子元件》

}for=

"item in 屬性1"

>

<

/li>

export

default

<

/script>

注意:vue是單向資料流,子元件不能修改props中的屬性,但是在父元件中修改,傳到子元件的資料也會跟著變化

子元件傳給父元件:$emit方法傳遞引數

//父元件

"函式"

>

<

/child>

//子元件

this

.$emit

('事件名'

,引數)

非父子元件間的資料傳遞,兄弟元件傳值

eventbus,就是建立乙個事件中心,相當於中轉站,可以用它來傳遞事件和接收事件。專案比較小時,用這個比較合適。

1.main.js中定義乙個公共區域 (新的vue例項)

vue.config.productiontip =

false

// 1:建立公共區域(新的vue例項)

var eventbus=

newvue()

;// 2:公共區域掛載到vue的原型上面(每乙個vue例項都可以訪問它原型上的成員)

vue.prototype.$bus=eventbus;

在b元件中給公共區域自定義事件

}<

/div>

<

/template>

export

default},

created()

)}}<

/script>

在a元件中觸發公共區域的自定義事件

"fn"

>傳值<

/button>

<

/div>

<

/template>

export

default},

methods:}}

<

/script>

Vue 元件通訊

單層元件通訊 prop 元件例項的作用域是孤立的。這意味著不能 也不應該 在子元件的模板內直接引用父元件 的資料。父元件的資料需要通過 prop 才能下發到子元件中。子元件要顯式地用 props 選項宣告它預期的資料 vue.component child 然後給他傳乙個訊息 message hel...

vue元件通訊

這部分vue文件已經說的很清楚了,但是為了更好的理解,自己再整理一遍。首先,父元件的與子元件的通訊是通過子元件的props。那麼子元件有資料變化時,想要通知父元件應該怎麼辦呢?父元件可以在使用子元件的地方直接用 v on 來監聽子元件觸發的事件。簡單來說,就是子元件監聽的事件,在函式內使用 emit...

Vue元件通訊

父子級通訊推薦使用 props emit parent children refs attrs listeners 子元件使用props 接收父元件傳遞的值 父元件向子元件傳值 子元件通過 emit 讓父元件接收事件,改變父元件的data裡面的值 子元件向父元件傳值 父元件 子元件 這裡的props...