view里面根据子组件事件切换其他子组件

来源:4-5 动态组件切换

wambaoxiaoyiyi

2020-07-13

老师,如果要实现一个view里面根据子组件事件在view里切换其他子组件,实现子组件之间的通讯的主流方法是什么。
我目前只想到2种方式:
1、异步方式引入子组件
似乎只能通过vuex通信
2、v-if引入子组件
$refs是非响应式的,要用setTimeout()等方法到下一个渲染周期
*3、vue-router切换页面
那么公共组件就没意义了。

写回答

2回答

Sunday

2020-07-16

你好:

实现子组件之间的通讯? 我理解的就是兄弟组件的通讯。 不知道我这样理解对不对。

如果是兄弟组件之间通讯的话,那么重要的地方,就是要找到一个 “第三方”,因为兄弟组件之间本身没有关系,他们不能直接通讯。而需要通过一个“第三方”进行通讯。

所谓第三方,只要是可以同时被两个兄弟组件都访问到就可以了。

比如,他们共同的父类可以充当这个第三方,事件中心的机制也可以充当这个第三方,vuex 也可以充当第三方。

0
1
wambaoxiaoyiyi
非常感谢!
2020-07-17
共1条回复

wambaoxiaoyiyi

提问者

2020-07-13

目前我是在父组件中用v-if来更换子组件,如果兄弟组件通讯就是用$emit调用父组件函数,然后在父组件用this.$nextTick(()=>{this.$refs.兄弟组件.doSomething()})

0
0

混合开发入门 Vue结合Android/iOS开发仿京东项目App

流行的混合开发实战入门,前端和原生开发同学不容错过

1096 学习 · 444 问题

查看课程