javascript - Angularjs 在其他 Controller 中初始化 $on 吗?

标签 javascript angularjs angularjs-scope angularjs-routing

我有一个带有菜单 Controller 的普通导航栏,这是父级。

在此 menuController 中,有一个方法“sendData()”,具有广播方法和位置调用“$location.path('/page2')”,它将我重定向到第 2 页。如果满足以下条件,则会触发 sendData() 方法:我点击导航栏上的链接。

然后,广播方法应该将带有一些数据的事件发送到第 2 页上的其他 Controller 。

在我的 page2 Controller 中, $on 方法应该接收事件。但问题是,此时我单击了发送广播的导航栏链接。第 2 页上的 Controller 未初始化。这意味着 $on 方法也未初始化,因此我无法接收该事件..

那么我该怎么做才能解决这个问题呢?在发送广播事件之前,必须初始化 page2 Controller 中的 $on 方法。我怎样才能做到这一点 ? 我使用 RouteProvider 来初始化我的 Controller ..

$routeProvider.when('/page2', {templateUrl: 'partials/page2.html', controller: 'page2Controller'});

最佳答案

您需要做的是创建一个 service|factory 并在您的服务上初始化或设置数据,当您的 page2 初始化时,它将从 服务|工厂

关于javascript - Angularjs 在其他 Controller 中初始化 $on 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23717798/

相关文章:

javascript - React router V4 - 交换机在生产中未渲染

javascript - node.js 服务器无需请求即可获取主机名

javascript - AngularJS module.controller 与 $controllerProvider.register

javascript - Lodash 与 JavaScript 内置的 map、reduce、filter

javascript - Edge 中损坏的 D3 可视化

javascript - 如何获取仅包含选定复选框中的值的数组?

javascript - 图像宽度高度通过 AngularJS (ng-file-upload)

angularjs - karma + Jasmine + webpack : module is not a function

angularjs - 在自定义指令的作用域绑定(bind) : AngularJS 中使用符号 '@' 、 '&' 、 '=' 和 '>'

javascript - 使用 $http 的 AngularJS 自定义表单验证