元件之間的傳值有三種 1,父元件給子元件傳值 , 2,子元件給父元件傳值 3, 非父子元件之間的傳值(又叫兄弟元件傳值)
1。父元件給子元件傳值 (父元件給子元件傳值需要通過props)
首先我的頁面結構是這樣的 child是子元件 father是父元件,
在這裡我新建乙個父元件 father.vue
這是父元件然後子元件中 child.vue'names
'>
這樣就完成的父元件給子元件的傳值。
總結:1。新建子元件和父元件,在父元件中引入子元件
2. 在呼叫child的地方 在child身上新增乙個自定義的屬性 name-list 這個屬性名可以隨便取 盡量語義化 names就是你要傳遞的值 因為names是個變數 所以要結合繫結屬性 :
3.在定義子元件的js中新增乙個props選項 根據你傳遞的資料型別定義props 在這以下有三種參考
// 第一種
// props:['namelist'],也可以直接這樣寫
// 第二種
// props: ,
// 第三種
// props:
// }
// }
// },
這樣就完成了乙個簡單的父給子傳的值。
注意:註冊子元件的時候路徑引入正確,
2.子元件給父元件傳值 (通過自定義事件傳值)
father.vue新增乙個自定義事件
這是父元件在子元件child.vue"getdata
">
"總結:1.子元件給父元件傳值主要通過自定義事件tofather
">我是子元件
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', '傳遞資料')
"two元件接受資料 two.vue data即為one組建傳遞過來的資料totwo
">我是哥哥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 鉤子中 ...