vue元件間通訊

2021-10-06 04:57:56 字數 2975 閱讀 2073

參考文章:

vue父子元件間通訊可以用prop完成,跨級通訊則要用attrs來實現。

1.$attrs實現跨級通訊

父親元件:

father元件<

/p>

msg1:

}<

/p>

:msg1=

"msg1"

:msg2=

'msg2'

:msg3=

'msg3'

:msg4=

'msg4'

title=

'乙個標題'

>

<

/son1>

<

/div>

<

/template>

import son1 from

'./son1.vue'

export

default

,data()

}}<

/script>其中,son1標籤中:msg1的取值要跟下面data中的變數相對應,而title因為沒有加:,所以title後面直接寫乙個字串。

孩子元件:

son1元件<

/p>

msg2:

}<

/p>

son1的$attrs:

}<

/p>

"$attrs"

>

<

/son2>

<

/div>

<

/template>

import son2 from

'./son2.vue'

export

default

, components:

}<

/script>在son1中,props中繫結msg1,則可以在son1中直接使用father元件中的msg1的取值,而現在son1的attrs中則會少了msg1。也就是說,如果想讓father元件中的某個變數只在這個元件中使用,而不會傳到後面的元件中,就需要在這個元件中用props繫結。

同時在使用son2的元件時,要加上v-bind=』$attrs』,讓剩下的msg2,msg3,msg4和title能夠傳下去。

son2元件<

/p>

msg2:

}<

/p>

son2的$attrss:

}<

/p>

"$attrs"

>

<

/son3>

<

/div>

<

/template>

import son3 from

'./son3.vue'

export

default

, components:

}<

/script>

son3元件<

/p>

msg3:

}<

/p>

title:

}<

/p>

son3:

}<

/p>

<

/div>

<

/template>

export

default,}

<

/script>最終程式顯示結果:

2.props實現父子通訊

props實現父元件向下傳遞資料給子元件(注:元件中的資料有三種形式:data、props和computed)

3.子元件通過events給父元件傳送訊息

子元件:

"changetitle"

>

}<

/h1>

<

/div>

<

/template>

export

default},

methods:,}

,}<

/script>父元件:

"updatetitle"

>

<

/son>

}<

/h2>

<

/div>

<

/template>

import son from

'./event-son.vue'

export

default},

methods:},

components:

}<

/script>這是傳值之前的結果:

這是傳值之後的結果:

vuex實現了乙個單向資料流,在全域性擁有乙個state存放資料,當元件要更改state中的資料時,必須通過mutation進行,mutation同時提供了訂閱者模式供外部外掛程式呼叫獲取state資料的更新。而當所有非同步操作(常見於呼叫後端介面非同步獲取更新資料)或批量的同步操作需要走action,但action也是無法直接修改state的,還是需要通過mutation來修改state的資料。最後,根據state的變化,渲染到檢視上。

vuex和localstorage

vuex是vue的狀態管理器,儲存的資料是響應式的。但是並不會儲存起來,重新整理以後就回到了初始狀態。具體的做法是

vue元件間通訊

1 父元件向子元件傳遞資料,只需要props就行。設定資料並繫結到元件上。子元件用props接收,就能在元件內部使用獲取到的資料 反向通訊則需要在父級元件上自定義對應的方法,子元件使用 emit呼叫父元件方法,並上傳資料 content date content.vue date.vue 上面這個例...

vue元件間通訊

a元件要傳遞資料給b元件 a元件是有資料的,b元件是需要資料的 vue的各個元件data是不共享的,但是我們有時需要傳遞資料,那麼就可以使用vuex的store,store是乙個物件,裡面有個state,用來儲存多個元件需要使用的資料 我們先定義資料 在store的state中,定義資料 然後 在s...

vue元件間通訊

相關鏈結 元件通訊 學習鏈結vue.js 60分鐘快速入門 父元件傳子元件 父傳子方法 一 屬性傳遞 props 子元件 父元件 父傳子方法 二 廣播事件傳遞 vm.broadcast 子元件 父元件 子元件傳父元件 子傳父方法 派遣事件傳遞 vm.dispatch 子元件 父元件 兄弟元件互傳 父...