国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 語(yǔ)言 > JavaScript > 正文

vue父子組件通信的高級(jí)用法示例

2024-05-06 15:35:17
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

前言

vue項(xiàng)目的一大亮點(diǎn)就是組件化。使用組件可以極大地提高項(xiàng)目中代碼的復(fù)用率,減少代碼量。但是使用組件最大的難點(diǎn)就是父子組件之間的通信。

子通信父

父組件

<template><div class="parent">我是父組件<!--父組件監(jiān)聽(tīng)子組件觸發(fā)的say方法,調(diào)用自己的parentSay方法--><!--通過(guò):msg將父組件的數(shù)據(jù)傳遞給子組件--><children :msg="msg" @say="parentSay"></children></div></template><script>import Children from './children.vue'export default {data () {return {msg: 'hello, children'}},methods: {// 參數(shù)就是子組件傳遞出來(lái)的數(shù)據(jù)parentSay(msg){console.log(msg) // hello, parent}},// 引入子組件components:{children: Children}}</script>

子組件

<template><div class="hello"><div class="children" @click="say">我是子組件<div>父組件對(duì)我說(shuō):{{msg}}</div></div></div></template><script>export default {//父組件通過(guò)props屬性傳遞進(jìn)來(lái)的數(shù)據(jù)props: {msg: {type: String,default: () => {return ''}}},data () {return {childrenSay: 'hello, parent'}},methods: {// 子組件通過(guò)emit方法觸發(fā)父組件中定義好的函數(shù),從而將子組件中的數(shù)據(jù)傳遞給父組件say(){this.$emit('say' , this.childrenSay);}}}</script>

子組件使用$emit方法調(diào)用父組件的方法,達(dá)到子通信父的目的。

父通信子

父組件

<!--Html--><template><!--父組件觸發(fā)click方法--><div class="parent" @click="say">我是父組件<!--通過(guò)ref標(biāo)記子組件--><children ref="child"></children></div></template><script>import Children from './children.vue'export default {data () {return {msg: "hello,my son"}},methods: {// 通過(guò)$refs調(diào)用子組件的parentSay方法say(){this.$refs.child.parentSay(this.msg);}},// 引入子組件components:{children: Children}}</script>

子組件

<template><div class="hello"><div class="children" >我是子組件<div>父組件對(duì)我說(shuō):{{msg}}</div></div></div></template><script>export default {data () {return {msg: ''}},methods: {// 父組件調(diào)用的JavaScript方法parentSayparentSay(msg){this.msg = msg;}}}</script>

父組件通過(guò) $refs 調(diào)用子組件的方法。

以上就是父子組件通信的方式,父子組件傳遞數(shù)據(jù)直接用props,或者使用 $emit 和 $refs 依靠事件來(lái)傳遞數(shù)據(jù)。

父子組件通信提升篇

上文中,子通信父是在 子中觸發(fā)點(diǎn)擊事件 然后調(diào)用父組件的方法,父通信子是在 父中觸發(fā)點(diǎn)擊事件 調(diào)用子組件的方法。但是實(shí)際情況中可能存在 子通信父時(shí)子組件不允許有點(diǎn)擊事件 而事件在父中或者 父通信子時(shí)點(diǎn)擊事件在子組件 中。

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 措美县| 乐至县| 富裕县| 濉溪县| 罗田县| 封丘县| 平利县| 桑日县| 仙桃市| 陈巴尔虎旗| 通海县| 绍兴市| 双牌县| 吉木萨尔县| 齐河县| 昌乐县| 宁化县| 会泽县| 太湖县| 张北县| 松潘县| 塔城市| 孟村| 永平县| 鄂托克前旗| 枣阳市| 泸水县| 新安县| 乐陵市| 霍林郭勒市| 北辰区| 察隅县| 石首市| 诏安县| 霍城县| 康平县| 赣榆县| 浦县| 美姑县| 名山县| 宁明县|