Angularjs在其他控制器中初始化$ on?

时间:2014-05-18 01:45:49

标签: javascript angularjs angularjs-scope angularjs-routing

我有一个带有menuController的普通导航栏,这是父。

在这个menuController中是一个方法' sendData()'使用广播方法和位置调用" $ location.path(' / page2')"它将我重定向到第2页..如果我点击导航栏上的链接,则触发sendData()方法。

然后广播方法应该在第2页向我的另一个控制器发送带有一些数据的事件。

在我的page2控制器中是$ on方法应该收到事件..但问题是,此时我点击发送广播的导航栏链接..第2页的控制器未初始化。这意味着$ on方法也没有初始化,所以我不能接收事件..

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

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

1 个答案:

答案 0 :(得分:1)

您需要做的是创建service|factory并在初始化 page2 时初始化或设置服务数据,它将从service|factory中提取信息。