2013-06-02 27 views
3

我有一个AngularJS应用程序,它有一些指令。该应用程序从外部HTML文件加载一些HTML。 问题是应用程序中的控制器使用事件进行通信,并且从外部HTML文件加载的HTML元素的控制器被初始化,并且在其他控制器已经开始触发事件后开始监听事件。 它是这样的: 的index.html:AngularJS应用程序加载时得到通知

... 
<body ng-controller="bodyController"> 
<ng-include src="page.html"></ng-include> 
</body> 
... 

page.html中:

<div ng-controller="divController"></div> 

和bodyController开始触发事件divController开始以来,DIV倾听他们page.html中是前在bodyController初始化后加载。

回答

0

我想你想要做的是使用ng-view与路由器:

$routeProvider.when('/', {templateUrl: 'page.html', controller: 'BodyCtrl'}); 

然后在你的HTML

<div ng-view></div> 
+0

这可能对此具体示例有所帮助,但我在页面上有一个ng-include,并且我将HTML作为模板加载到指令中。所以一个简单的ng-view不会帮助..谢谢虽然.. –

+0

mmh,也许你自己引导'angular.element(document).ready(function(){...' – Ven

+0

试过了..事件发生后所有JS文件都被加载,并且在加载HTML之前.. –

0

我有一些运气侦听来自$ viewContentLoaded事件控制器:

$scope.$on('$viewContentLoaded', function() { 
     // do what you need done on load complete 
    }); 

它似乎没有拿起是否指令o n页面已完成加载/渲染,但应覆盖其他案例

相关问题