父元件與子元件傳值
父元件傳給子元件:子元件通過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...