VUE中兄弟元件傳值

2021-10-10 05:55:00 字數 2165 閱讀 3158

方法1:`元件2`傳值給`父元件`,然後在傳值給`元件1`

方法2:使用乙個新vue例項上的`$on`和`$emit`

$on的解釋:[

父元件

width: 100vw;

height: 100vh;

padding: 100px;

box-sizing: border-box;

.parent

.child1

.child

}子元件1

這個是子元件1

子元件2
這個是子元件2

方法1:元件2傳值給父元件,然後在傳值給元件1

元件2中新增方法,給父元件傳值

change()
父元件接收引數

change(arg)
父元件將值傳給元件1,同時元件1接收傳值

props:

}},

現在各個元件的完整**

父元件

width: 100vw;

height: 100vh;

padding: 100px;

box-sizing: border-box;

.parent

.child1

.child

}子元件1

這個是子元件}

子元件2
這個是子元件2

方法2:使用乙個新vue例項上的$on$emit

將**恢復成初始的樣子

新建transfer.js

import vue from 'vue'

export const transfer = new vue()

元件2中引用transfer.js,並新增方法

元件1中引用transfer.js,並新增方法

現在各個元件的完整**

父元件,沒有變化

width: 100vw;

height: 100vh;

padding: 100px;

box-sizing: border-box;

.parent

.child1

.child

}子元件1

這個是子元件}

子元件2
這個是子元件2

transfor.js
import vue from 'vue'

export const transfer = new vue()

引用文字

vm.$on('test', function (msg) )

vm.$emit('test', 'hi')

// => "hi"

*特別注意:

$emit$on的事件必須在乙個公共的例項上

vm.$emit('自定義事件名',要傳送的資料)

vm.$on('事件名',callback)

$on的事件名要和$emit的事件名一致

$oncallback接收$emit的傳送資料

*

vue 元件傳值 父子元件傳值,兄弟元件傳值

父向子 v bind props 子元件 子元件 props msg props接收 props 驗證 props food接受數值型別的引數,如果不傳入的話預設就是100 food fooe接受物件型別的引數 fooe foof使用乙個自定義的驗證器 foof foog props 是單向繫結的 ...

vue兄弟元件間傳值

舉例子說明,乙個元件中是input,監聽輸入的內容,在另乙個元件的div中顯示出來 首先在assets中建立個事件匯流排js檔案eventbus.js,檔案中的 如下 import vue from vue export default new vue 然後建立元件 inputcomponent,匯...

vue兄弟元件間傳值

可以用過乙個vue例項bus作為媒介,要相互通訊的兄弟元件之中,都引入bus,之後通過分別呼叫bus事件觸發emi t和監聽 emit和監聽 emit和監 聽on來實現元件之間的通訊和引數傳遞,類似window的全域性自定義事件。類似與子傳父,只不過是利用乙個新的vue示例作為媒介,而不是當前vue...