vue組件之間數(shù)據(jù)傳遞的方法實(shí)例分析
本文實(shí)例分析了vue組件之間數(shù)據(jù)傳遞的方法。分享給大家供大家參考,具體如下:
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>
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:
在父?jìng)髦到o子組件使用屬性值:props; 理解成 “ 中介” 父組件綁定傳遞屬性值(:sex="sexval") 子組件 獲取屬性值 props['sex'] 會(huì)添加到data 對(duì)象中

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', '值來(lái)自---子組件值')
}
}
App.vue
在父組件中 使用該別名(作為事件名使用),調(diào)用方法 childEvent 返回子組件傳過(guò)來(lái)的值
<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 來(lái)自子組件
}
}
點(diǎn)擊 “按鈕”值會(huì)傳到 父組件中。 組件之間不能互相傳值。

希望本文所述對(duì)大家vue.js程序設(shè)計(jì)有所幫助。
- vue父子組件的數(shù)據(jù)傳遞示例
- Vue 父子組件的數(shù)據(jù)傳遞、修改和更新方法
- Vue表單類的父子組件數(shù)據(jù)傳遞示例
- Vue 父子組件數(shù)據(jù)傳遞的四種方式( inheritAttrs + $attrs + $listeners)
- vuejs父子組件之間數(shù)據(jù)交互詳解
- vue2.0父子組件間傳遞數(shù)據(jù)的方法
- Vue組件之單向數(shù)據(jù)流的解決方法
- vue兄弟組件傳遞數(shù)據(jù)的實(shí)例
- Vue.js路由組件vue-router使用方法詳解
- vue-router:嵌套路由的使用方法
- vue組件數(shù)據(jù)傳遞、父子組件數(shù)據(jù)獲取,slot,router路由功能示例
相關(guān)文章
vue使用axios時(shí)關(guān)于this的指向問(wèn)題詳解
最近在學(xué)習(xí)使用vue+axios,在使用中發(fā)現(xiàn)了一個(gè)問(wèn)題,下面總結(jié)分享給大家,這篇文章主要給大家介紹了關(guān)于vue使用axios時(shí)this的指向問(wèn)題的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。2017-12-12
electron-vue利用webpack打包實(shí)現(xiàn)多頁(yè)面的入口文件問(wèn)題
項(xiàng)目需要在electron的項(xiàng)目中新打開一個(gè)窗口,利用webpack作為靜態(tài)資源打包器,發(fā)現(xiàn)在webpack中可以設(shè)置多頁(yè)面的入口,今天來(lái)講一下我在electron中利用webpack建立多頁(yè)面入口的踩坑經(jīng)驗(yàn),需要的朋友可以參考下2019-05-05
在vue中給后臺(tái)接口傳的值為數(shù)組的格式代碼
這篇文章主要介紹了在vue中給后臺(tái)接口傳的值為數(shù)組的格式代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-11-11
詳解vue3?響應(yīng)式的實(shí)現(xiàn)原理
Vue.js?3.0?為了解決?Object.defineProperty?的這些缺陷,使用?Proxy?API?重寫了響應(yīng)式部分,并獨(dú)立維護(hù)和發(fā)布整個(gè)?reactivity?庫(kù),這篇文章主要介紹了vue3?響應(yīng)式的實(shí)現(xiàn)原理,需要的朋友可以參考下2022-06-06

