javascript - 同级controller之间通信问题

查看:67
本文介绍了javascript - 同级controller之间通信问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

我在certificate_info.js中$emit,

在home.js中$broadcast,

在my_certificate.js中$on

路由如下

在certificateInfo中的log如下

index.html如下

当homeCtrl接收到cerInfoCtrlChange并生成cerInfoCtrlChangeFromParent通知的时候,myCertificateCtrl并不存在,收不到cerInfoCtrlChangeFromParent。我想问问有什么解决办法?我现在在certificateInfo页面中更改数据后然后跳回到certificate,要重新让certificate.js重新请求一下接口。从而达到更新certificate数据的效果。

解决方案

其实你这种情况很好处理的,你的homeCtrl一直存在做为parent controller, 你在homeCtrl中设值就行了,比如在homeCtrl中设置$scope.A = '', cerInfoCtrl 可以直接修改$scope.$parent.A 这个值,然后打开my_certificateCtrl的时候可以直接取用$scope.$parent.A

还有种方法就是用service或factory来共享值

这篇关于javascript - 同级controller之间通信问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆