在加载页面时,不同的控制器如何相互中继?

时间:2014-06-24 09:36:50

标签: angularjs angularjs-controller

想想这个简单的场景:

<div ng-controller="ctrl1">
   ... drop down list...
</div>

<div ng-controller="ctrl2">
   ...grid list...
</div>

第一个<div>包含下拉列表,第二个<div>包含网格。 根据下拉列表中的选定项目,ctrl2应使用新数据更新网格。这在加载后工作得很好,我发射事件并使用$ broadcast和$ on来捕获它。

但是,我在第一次加载电网时遇到了麻烦。下拉列表加载项目列表,默认情况下选择第一项,因此网格应根据默认选择显示数据。我不能在这里使用事件,因为如果我在 ctrl1 的$ init上触发事件, ctrl2 的$ on还没有初始化,所以它不起作用。首次加载的正确方法是什么?

请建议。

0 个答案:

没有答案