Vue元件傳值

2021-10-08 15:50:57 字數 3087 閱讀 7210

vue元件傳值在日常開發中比較常見

一般有三種傳值方式:1.父傳子、2.子傳父、3.兄弟元件之間通訊

一般會在子元件裡面定義props來做接收,這是比較常見的情況

這是父元件

我是父元件<

/div>

我傳送給第乙個元件的資訊是:

}<

/div>

"child1"

>

"msg"

/>

<

/div>

<

/div>

<

/div>

<

/template>

import childone from

"../components/children1"

;import childtwo from

"../components/children2"

;export

default

,data()

;}};

<

/script>可以看到我在第乙個子元件上面傳入了乙個msg,那麼在子元件上就需要定義乙個msg用來接收傳進來的引數

這是第乙個子元件

"title"

>我是第乙個子元件<

/div>

我接受到的父元件的訊息是:

}<

/div>

<

/div>

<

/template>

export

default}}

;<

/script>這時候就需要利用vue中的$emit將想要傳遞的值通過函式的形式傳出,在父元件接收

this.$emit(arg1,arg2) arg1:方法名字,arg2:要傳出的值

這是第二個子元件

"title"

>我是第二個子元件<

/div>

我要傳送給父元件的值:

}<

/div>

"toparent"

>向父元件傳送資訊<

/button>

<

/div>

<

/template>

export

default;}

, methods:}}

;<

/script>這是父元件

我是父元件<

/div>

我即將接收第二元件傳值是:

}<

/div>

"child2"

>

"getmag"

/>

<

/div>

<

/div>

<

/div>

<

/template>

import childone from

"../components/children1"

;import childtwo from

"../components/children2"

;export

default

,data()

;}, methods:}}

;<

/script>此時我在父元件裡面定義了乙個@toparent方法這個名稱要和子元件裡面this.$emit(arg1)的命名一樣,用來接收。在getmag裡面接收乙個引數就是當前傳回的值。

兄弟元件之間就需要乙個中間值,我在這裡稱為bus。在vue檔案main.js中,我們利用 vue.prototype.bus=new vue() 來定義,此時我們就有了乙個中間量。

這是第乙個子元件 – 從這裡向另外乙個子元件傳值

"title"

>我是第乙個子元件<

/div>

我要給第二個兄弟發資訊,內容是:

"text" v-model=

"to"

/>

<

/div>

"tobrother"

>點我給兄弟傳值<

/button>

<

/div>

<

/template>

export

default;}

, methods:}}

;<

/script>在這裡我在button上繫結了乙個方法,在方法內部使用中間變數bus中的$emit來傳遞值,引數同子傳父的引數一致。

這是第二個子元件–用來做接收方

"title"

>我是第二個子元件<

/div>

我得到的兄弟元件資訊是:

}<

/div>

<

/div>

<

/template>

export

default;}

beforecreate()

);}}

;<

/script>在第二個子元件裡面通過beforecreate生命週期來獲得傳過來的值,這時候需要用this.bus.on來

接收,第

乙個引數

是thi

s.bu

s.on來接收,第乙個引數是this.bus.

on來接收,

第乙個參

數是th

is.b

us.emit定義的第乙個方法名,第二個引數是乙個方法,此方法帶乙個返回引數。在這裡我使用箭頭函式。(在mounted中也是可以的…)

Vue元件傳值 父子元件傳值

父元件可以引入 使用子元件,從業務上看,該父元件有可能對子元件有個性化需求,為了體現元件的靈活多變,可以通過傳值實現。應用情景 語法 父元件要在子元件標籤上通過屬性值方式傳值 子元件標籤 name value name value name value 子元件標籤 子元件接收並應用值,具體通過pro...

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

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

Vue元件傳值

學習vue的傳值心得,剛入門vue,大佬勿噴,請多多指教。1.父元件傳值子元件 父元件巢狀子元件式,在標籤裡繫結 子元件用props屬性接收 例 父元件傳值,為縮寫,等同於v bind obj item props obj count 子元件接收傳值,可直接使用,但是推薦在下方重新賦值給新變數再使用...