刚接触 Vue 不久碰到这么一个问题:页面A有一个方法 func,从页面A跳转到页面B,在页面B做一系列操作,如果操作成功则主动退回到页面A并触发页面A的 func。我现在是写了一个 bus (空的 Vue 实例)实现了这个需求,需要在页面A和页面B都引入这个 bus,然后在页面A bus.$on('event', callback),在页面B bus.$emit('event')。我想问除了这个方法以外有没有更好的实现方式?
2 回答
HUWWW
TA贡献1874条经验 获得超12个赞
1、父子组件 props
2、同级组件 eventbus
3、vuex 也可以考虑下吧,做全局状态存储,或关键值存储
关键值存储也可以考虑 cookie,localstorage,sessionstorage 等,通过关键值确认是否执行相关函数。
茅侃侃
TA贡献1842条经验 获得超21个赞
提供另一种思路哈,没实践不知是否可行
let runFuncFlag;//运行标志Vue.prototype.setFlag = function (flag) { runFuncFlag = flag }; Vue.prototype.getFlag = function () { return runFuncFlag }; B页面调用 this.setFlag(参数) A页面调用let res = this.getFlag();//再判断res 是否调用func函数 //再清除标志 this.setFlag();
添加回答
举报
0/150
提交
取消