Vue小tips-d05
阿新 • • 發佈:2021-01-08
父傳子:傳遞基本資料型別,通過繫結自定義屬性,子元件通過props接收
- 父變子變:直接傳遞基本資料型別
- 子變父變:直接報錯 解決方法:直接把父元件傳遞過來的值儲存為自己的變數值
- 父變子變,子變父變: 傳遞一個物件。 由於傳遞的是物件,而物件傳遞的是地址,所以父子同時操作的是同一個地址
Vue.prototype.Event = new Vue()
2.one->two 傳值
<button @click="sendTwo">傳送給two的資料</button> methods:{ sendTwo(){ // 傳送資料$emit this.Event.$emit('sendTwo',this.msg) } }
在two元件中無條件接受 (mounted)
mounted(){
// 接收資料$on
this.Event.$on('sendTwo',(e)=>{
console.log(e)
})
}
總結:
- 父傳子:給父元件中的子元件繫結屬性,子元件通過props接收
- 子傳父:給子元件繫結方法,通過$emit繫結方法名。在父元件中繫結約定的方法名即可.
<!-- 用來展示元件內容 --> <div :is='name'></div>
效果是點選one展示one的內容,點選two展示two內容,所以此時需要兩個按鈕
<!-- 動態元件 --> <button @click="name='vOne'">one</button> <button @click="name='vTwo'">two</button>
<v-two> <div slot='aa'>aa</div> <div slot='bb'>bb</div> </v-two>
在子元件中v-two中
<slot name='aa'></slot>
1.
import $ from 'jquery'
mounted(){ 獲取元素進行操作 $('button').click(()=>{ $('.box').fadeOut(3000) }) } 在<template> <div> <div class="box"></div> <button>點選淡出</button> </div> </template>