vue--触发父子组件事件

项目接触多了,用vue开发项目比较喜欢组件化,一个弹框,一个模块都可能写成子组件

<!--左侧弹框-->
<DrawerCount :bureauItem="bureauItem" ref="drawerCount" :isShow="show" @closeDrawer="closeDrawer"/>

父组件触发子组件事件

这时需要触发子组件的事件,例如显示左侧弹框时需要触发事件调接口查数据,子组件的方法是getTimeChannel() 

this.$refs.drawerCount.getTimeChannel();

这样子组件的事件就可以了触发了

子组件触发父组件事件

当然也会用到子组件要触发控制父组件事件,

首先在子组件中写一个方法

closeDrawer() {
    this.$emit('closeDrawer',false)
}

这样就可以触发父组件的事件了

closeDrawer() {
    this.show = false;
}

子组件触发子组件事件

 

这里我想add组件(新增功能)新增成功后,关闭add组件(弹框),同时刷新list组件(展示列表)数据

父组件:

<keep-alive :include="componentIncludeList">
    <component :is="currentView" @componentView="changeView" ref="list" :currentData="currentData"></component>
</keep-alive>
changeView(view, obj) {
    this.currentView = view;
    this.currentData = obj;
},

add子组件:

this.$emit("componentView", "list");

list子组件:

mounted() {
    this.getTableItem();  
}

这个例子貌似不太好,下次补充

注意:$emit这里的false,可以是一个对象,一个数组

 

转载于:https://www.cnblogs.com/shenpeng/p/10972025.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值