为了账号安全,请及时绑定邮箱和手机立即绑定

Vue 页面间通信的方法

Vue 页面间通信的方法

慕仙森 2019-03-15 18:21:50
刚接触 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 等,通过关键值确认是否执行相关函数。


查看完整回答
反对 回复 2019-03-15
?
茅侃侃

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();


查看完整回答
反对 回复 2019-03-15
  • 2 回答
  • 0 关注
  • 1621 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信