vue 元件之間的傳值

2022-09-02 07:03:07 字數 2167 閱讀 1236

元件之間的傳值有三種  1,父元件給子元件傳值 ,   2,子元件給父元件傳值   3, 非父子元件之間的傳值(又叫兄弟元件傳值)

1。父元件給子元件傳值   (父元件給子元件傳值需要通過props)

首先我的頁面結構是這樣的  child是子元件   father是父元件,

在這裡我新建乙個父元件  father.vue

這是父元件

'names

'>

然後子元件中  child.vue 

這樣就完成的父元件給子元件的傳值。

總結:1。新建子元件和父元件,在父元件中引入子元件 

2. 在呼叫child的地方 在child身上新增乙個自定義的屬性 name-list  這個屬性名可以隨便取 盡量語義化  names就是你要傳遞的值 因為names是個變數 所以要結合繫結屬性 :

3.在定義子元件的js中新增乙個props選項  根據你傳遞的資料型別定義props   在這以下有三種參考 

// 第一種

// props:['namelist'],也可以直接這樣寫

// 第二種

// props: ,

// 第三種

// props: 

//     }

//   }

// },

這樣就完成了乙個簡單的父給子傳的值。

注意:註冊子元件的時候路徑引入正確,

2.子元件給父元件傳值 (通過自定義事件傳值)

father.vue新增乙個自定義事件

這是父元件

"getdata

">

在子元件child.vue

"

tofather

">我是子元件

總結:1.子元件給父元件傳值主要通過自定義事件

2.在定義子元件的地方去執行this.$emit('to-father','子元件傳給父元件的值')

3.非父子元件傳值/兄弟元件傳值  利用**事件匯流排傳值 const bus = new vue()

結構:

首先我們需要利用**事件匯流排傳值 const bus = new vue(), 

在main.js中,new乙個空的vue掛在到vue原型上:

vue.prototype.$bus = new vue();這樣兩者才可以進行通訊

下面我們讓哥哥two元件給兄弟one元件傳遞乙個資料 one.vue

this.$bus.$emit('to-two', '您好兄弟two')

one元件傳值 bus.$emit('事件名稱1', '傳遞資料')

"

totwo

">我是哥哥one元件

two元件接受資料 two.vue   data即為one組建傳遞過來的資料

我是弟弟two元件

結果:

two元件給one元件傳值的方式一樣就不介紹了

總結:1.兄弟元件之間的傳值需要利用**事件匯流排進行通訊

2.**事件匯流排的建立我們可以這樣

在main.js中,new乙個空的vue掛在到vue原型上:

vue.prototype.$bus = new vue();這樣兩者才可以進行通訊

3.乙個元件進行傳送資料 另乙個元件進行接收資料 

a元件傳值 this.$bus.$emit('事件名稱1', '傳遞資料')

b元件接受 this.$bus.$on('事件名稱1', function (data) {})

data即為傳送過來的值

Vue 元件之間傳值

一 父元件向子元件傳遞資料 在 vue 中,可以使用 props 向子元件傳遞資料。子元件部分 這是 header.vue 的 html 部分,logo 是在 data 中定義的變數。如果需要從父元件獲取 logo 的值,就需要使用props logo 在 props 中新增了元素之後,就不需要在 ...

vue 元件之間傳值

需求1 假設要把父元件的zhuli傳值到這是使用者的詳細資訊 紅色區域 該如何操作?已知 標籤上可以寫自定義屬性,在使用標籤的時候,告訴子元件使用哪些標籤,子元件中用props定義可以使用的屬性,可以傳多個屬性。在父元件使用的子元件標籤中繫結自定義屬性 name 在子元件中使用props 可以是陣列...

Vue元件之間傳值

父元件向子元件傳值 子元件向父元件傳值 1 子元件用 emit 觸發事件 第乙個引數為 自定義的事件名稱 第二個引數為需要傳遞的資料 擴大父元件中字型大小 擴大父元件中字型大小 兄弟之間的傳遞 傳遞資料方,通過乙個事件觸發hub.emit 方法名,傳遞的資料 接收資料方,通過mounted 鉤子中 ...