vue元件通訊(父子之間,兄弟之間)

2022-06-17 16:12:12 字數 1400 閱讀 3249

1、在父元件中引入需要通訊的子元件

import son from "./components/son";
2、在父元件的components中註冊該子元件
components:
3、在父元件的template中使用子元件
4、將需要傳遞給子元件的值通過v-bind

// 此處的price則是傳遞給子元件的值

5、在對應的子元件中,通過props屬性接收傳遞過來的值
props:

}

6、在子元件中使用該值
單價:}
1 在son.vue中,通過觸發子元件的方法(這裡是自定義的downprice方法)
單價:}

降價1元

2 在子元件的methods的downprice中,通過this.$emit(),將事件和引數傳遞給父元件
downprice(count)
3 在父元件中接受子元件傳遞的事件downprice和資料
4 父元件對接收到的事件和資料做出響應
downprice(count)
同級元件不能直接傳值,需要乙個中間橋梁,可以先將資料傳遞給公共的父元件,然後父元件再將資料傳遞給需要的子元件。(一般大型的專案,推薦使用vuex來管理元件之間的通訊)

1 定義乙個公共檔案 eventbus.js,**很簡單,只是建立乙個空的vue例項

import vue from 'vue'

export default new vue()

2 在需要通訊的同級元件中分別引入eventbus.js檔案
import bus from '../eventbus.js'
3 在son.vue中,通過$emit將事件和引數傳遞給son.vue
price(newprice)
4 在son.vue 中,通過$on接收接收引數和相應事件
bus.$on("pricechange", (price, count) => );
1 在使用子元件時,給子元件加乙個ref引用
2 父元件通過this.$refs即可找到該子元件,也可以操作子元件的方法
this.$refs.son.子元件方法
或者可以通過$children,可以獲取到所有子元件的集合

this.$children[0].某個方法
1 通過 $parent可以找到父元件,進而呼叫其方法
this.$parent.父元件方法

vue父子兄弟之間的元件通訊

一.父子之間的通訊 1.父元件 子元件 props down 通過屬性 步驟1 父元件在呼叫子元件時傳值 步驟2 子元件通過props得到父元件的傳過來的資料 vue.component son 通過 parent 直接在子元件中通過this.parent得到呼叫子元件的父元件 2 子元件 父元件 ...

vue父子元件之間通訊

1 父元件向子傳遞引數 只需要在子元件內使用props即可獲取。2 子元件返回引數給父元件 子元件中設定 emit func data 父元件中直接取出func即可。注意 父元件向子元件傳參是單向的,若子元件直接修改父元件的引數,vue會報錯。如果需要修改,則有2種方式 方式一 在子元件中複製父變數...

vue兄弟父子元件之間傳值

一 父元件修改子元件的值 1.在父元件中宣告子元件 import editstability from edit editsimilarstability.vue 2.使用引入的子元件,可以通過 ref 這個 attribute 為子元件賦予乙個 id 引用 v if editvisible ref...