Vue2.0父子組件傳遞函數(shù)的教程詳解
Vue.js 是什么
Vue.js (讀音 /vjuː/,類似于 view) 是一套構(gòu)建用戶界面的漸進(jìn)式框架。與其他重量級框架不同的是,Vue 采用自底向上增量開發(fā)的設(shè)計(jì)。Vue 的核心庫只關(guān)注視圖層,它不僅易于上手,還便于與第三方庫或既有項(xiàng)目整合。另一方面,當(dāng)與單文件組件和 Vue 生態(tài)系統(tǒng)支持的庫結(jié)合使用時(shí),Vue 也完全能夠?yàn)閺?fù)雜的單頁應(yīng)用程序提供驅(qū)動。
學(xué)習(xí)筆記:在vue2.0中,父組件調(diào)用子組件時(shí),想要將父組件中的函數(shù)體也做傳遞.
1. 通過props :需要從子組件傳參數(shù)到父組件時(shí)適用
// 父組件.vue
<template>
<div>
<ok-input :params='number' :callback='callbackNum'></ok-input>
</div>
</template>
<script type="text/ecmascript-6">
import okInput from '../ok-input/okinput.vue';
export default {
props: {},
data() {
return {
number: {},
callbackNum: function (x) {
console.log(x);
}
};
},
methods: {
},
components: {
'ok-input': okInput
}
};
</script>
// 子組件.vue
<template>
<div>
<input v-model='numVal' @change='handleFun'></input>
</div>
</template>
<script type="text/ecmascript-6">
import {Input, Select, Option, Button} from 'element-ui';
import 'element-ui/lib/theme-default/index.css';
export default {
props: {
params: {
type: Object,
default: {
type: ''
}
},
callback: {}
},
data() {
return {
x: 'hah',
numVal: ''
};
},
methods: {
handleFun(val) {
this.callback(val); // 將參數(shù)傳回父組件中的回調(diào)函數(shù)
}
},
components: {
'el-input': Input,
}
};
</script>
2.通過$emit: 只需獲得當(dāng)前操作對象時(shí)適用
// 父組件.vue
<template>
<div>
<ok-input :params='inputs' @change='handleAge'></ok-input>
</div>
</template>
<script type="text/ecmascript-6">
import okInput from '../ok-input/okinput.vue';
export default {
props: {},
data() {
return {
number: {}
};
},
methods: {
handleAge(evt) {
console.log(evt.target.value); // 接收從子組件傳過來的當(dāng)前對象
}
},
components: {
'ok-input': okInput
}
};
</script>
// 子組件.vue
<template>
<div>
<input v-model='numVal' @blur='handleChange'></input>
</div>
</template>
<script type="text/ecmascript-6">
import {Input, Select, Option, Button} from 'element-ui';
import 'element-ui/lib/theme-default/index.css';
export default {
props: {
params: {
type: Object,
default: {
type: ''
}
},
callback: {}
},
data() {
return {
x: 'hah',
numVal: ''
};
},
methods: {
handleChange(evt) {
this.$emit('change', evt); // 將當(dāng)前對象 evt 傳遞到父組件
},
},
components: {
'el-input': Input,
}
};
</script>
總結(jié)
以上所述是小編給大家介紹的Vue2.0父子組件傳遞函數(shù)的教程詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
vue中el-table實(shí)現(xiàn)穿梭框(數(shù)據(jù)可以上移下移)
本文主要介紹了vue中el-table實(shí)現(xiàn)穿梭框(數(shù)據(jù)可以上移下移),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06
vue3生命周期原理與生命周期函數(shù)簡單應(yīng)用實(shí)例分析
這篇文章主要介紹了vue3生命周期原理與生命周期函數(shù),結(jié)合簡單實(shí)例形式分析了vue3的生命周期基本原理、以及各個(gè)階段的生命周期鉤子函數(shù)功能、使用技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下2023-04-04

