vue組件間的參數(shù)傳遞實(shí)例詳解
場景分析
在前端開發(fā)中,我們常常會(huì)運(yùn)用到“組件庫”。在main入口中引入組件庫,就可以很輕松的在頁面中引入,并做一些基本的配置,如樣式,顏色等。只需要在引入的組件中寫入特定的屬性,就能夠定義。
舉例說明
例如:element-ui組件庫中使用switch開關(guān),有個(gè)屬性active-color是設(shè)置“打開時(shí)”的背景色。change事件是觸發(fā)狀態(tài)的事件。
<el-switch
v-model="value"
:active-color="activecolor"
@change="touchSwitch">
</el-switch>
<script>
export default {
data() {
return {
value: true,
activecolor: '#13ce66'
}
},
methods: {
touchSwitch () {
// 這里入方法
}
}
};
</script>
分析代碼
我們分析上面的代碼
首先我們可以看到active-color是將特定的數(shù)據(jù)傳給組件,也就是父傳子組件。
其次是@change雖然監(jiān)聽的是改變事件,但是語法糖依然是$emit,什么emit我們在以后的文章中會(huì)講到,就是“拋出事件”。
這就分為組件的最基本功能:
•數(shù)據(jù)進(jìn)
•事件出
那組件的使用我們知道了,通過active-color傳入?yún)?shù),通過@來接收事件。
所以,我們來探究一下組件的內(nèi)部結(jié)構(gòu)是什么樣的?
我寫了一個(gè)小模型,是一個(gè)顯示標(biāo)題的小按鈕,通過div包裹。
<!-- type-box.vue -->
<template>
<div class="box" @click="ai_click(title)">{{title}}</div>
</template>
<script>
export default {
name: 'type-box',
props: {
title: {
type: String,
default: () => ''
}
},
methods: {
ai_click (title) {
this.$emit('ai_click', title)
}
}
}
</script>
<style scoped>
.box{
width: 250px;
height: 100px;
margin: 10px;
border-radius: 10px;
background-color: #3a8ee6;
color: white;
font-size: 25px;
line-height: 100px;
text-align: center;
cursor: pointer;
}
</style>
使用方法:
<!-- 父組件使用 -->
<template>
<div>
<type-box title="演示盒子" @ai_click=“touch”></type-box>
</div>
</template>
<script>
import typeBox from './type-box'
export default {
components: {
typeBox
},
methods: {
touch (data) {
console.log(data)
}
}
}
</script>
分析組件
接收
通過props接收父組件傳遞過來的數(shù)據(jù),通過工廠函數(shù)獲取一個(gè)默認(rèn)值。
傳遞
通過this.$emit('ai_click', title)告訴父組件,我要傳遞一個(gè)事件,名字叫“ai_click”,請通過@ai_click接收一下,并且我將title的值返回父組件。
總結(jié)
所以今天分析vue組件的3大核心概念的其中兩個(gè)——屬性和事件。
這篇文章只分析到應(yīng)用場景,也是最簡單的組件。希望后續(xù)能夠深入了解vue的組件概念:屬性、事件和插槽。
以上所述是小編給大家介紹的vue組件間的參數(shù)傳遞實(shí)例詳解,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!
相關(guān)文章
vue實(shí)現(xiàn)手機(jī)號(hào)碼的校驗(yàn)實(shí)例代碼(防抖函數(shù)的應(yīng)用場景)
這篇文章主要給大家介紹了關(guān)于vue實(shí)現(xiàn)手機(jī)號(hào)碼的校驗(yàn)的相關(guān)資料,主要是防抖函數(shù)的應(yīng)用場景,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用vue具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
Vue使用vue-recoure + http-proxy-middleware + vuex配合promise實(shí)現(xiàn)基本
這篇文章主要介紹了Vue使用vue-recoure + http-proxy-middleware + vuex配合promise實(shí)現(xiàn)基本的跨域請求封裝問題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-10-10

