vue 组件之间数据传递(七)
生活随笔
收集整理的這篇文章主要介紹了
vue 组件之间数据传递(七)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1、props:父組件 -->傳值到子組件 app.vue是父組件 ,其它組件是子組件,把父組件值傳遞給子組件需要使用 =>props
在父組件(App.vue)定義一個(gè)屬性(變量)sexVal = '男' 把該值傳遞給 子組件(B.vue),如下:
App.vue <template><div id="app"><!--<router-view></router-view>--><parentTochild :sex="sexVal"></parentTochild></div> </template><script>import parentTochild from './components/B'export default {name: 'app',data: function () {return {sexVal:"女"}},methods: {},components: {parentTochild}} </script>
2、$emit:子組件 -->傳值到父組件
在B.vue 子組件添加一個(gè)點(diǎn)擊事件為例子 @click="sendMs
<input type="button" @click="sendMsg" value="子組件值傳父組件">
<p>{{message}}</p> <!--<router-view></router-view>--> <parentTochild :sex="sexVal" @childMsg = "childEvent"></parentTochild>
在父組件(App.vue)定義一個(gè)屬性(變量)sexVal = '男' 把該值傳遞給 子組件(B.vue),如下:
App.vue <template><div id="app"><!--<router-view></router-view>--><parentTochild :sex="sexVal"></parentTochild></div> </template><script>import parentTochild from './components/B'export default {name: 'app',data: function () {return {sexVal:"女"}},methods: {},components: {parentTochild}} </script>
B.vue
<template><div class="b_class"> <!--外邊只允許有一個(gè)跟元素--><p>父組件傳值給子組件</p><p>姓名:{{name}}</p><p>年齡:{{age}}</p><p>sex:{{sex}}</p></div> </template> <script>export default {data: function () {return {name: 'zs',age: 22}},props:['sex']} </script>?
tips:
在父傳值給子組件使用屬性值:props; 理解成 “ 中介” ?父組件綁定傳遞屬性值(:sex="sexval") 子組件 獲取屬性值 props['sex'] 會(huì)添加到data 對象中
?
?
2、$emit:子組件 -->傳值到父組件
在B.vue 子組件添加一個(gè)點(diǎn)擊事件為例子 @click="sendMs
<input type="button" @click="sendMsg" value="子組件值傳父組件">
在調(diào)用該函數(shù)后使用$emit方法傳遞參數(shù) (別名,在父組件作為事件名稱, 值);?
methods: {sendMsg: function () {this.$emit('childMsg', '值來自---子組件值')}}?
App.vue
在父組件中 使用該別名(作為事件名使用),調(diào)用方法 childEvent 返回子組件傳過來的值<p>{{message}}</p> <!--<router-view></router-view>--> <parentTochild :sex="sexVal" @childMsg = "childEvent"></parentTochild>
?
?
data: function () {return {sexVal: "女",message: ''}},methods: {childEvent: function (msg) {this.message = msg; // msg 來自子組件}}?點(diǎn)擊 “按鈕”值會(huì)傳到 父組件中。 組件之間不能互相傳值。
?
轉(zhuǎn)載于:https://www.cnblogs.com/congxueda/p/7150871.html
總結(jié)
以上是生活随笔為你收集整理的vue 组件之间数据传递(七)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: viewstub学习笔记
- 下一篇: vue.js框架搭建