我有一个带有菜单 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/