尝试在ng-view
内添加ng-include
时,没有任何反应。例如在以下代码中,当 themes / midnight / index.html 包含ng-view
时,不会呈现任何视图:
<ng-include src="'themes/midnight/index.html'"></ng-include>
但是,如果我使用下面的代码,视图会显示两次:
<ng-include src="'themes/midnight/index.html'"></ng-include>
<div ng-view></div>
问题是什么?如何解决?
答案 0 :(得分:30)
由于ng-view
的实例化延迟(通过ng-include
),会出现此问题。在这种情况下,$route
实例化也会延迟,$route
将错过位置更改事件(并且根本不会执行路由)。
要绕过此操作,请在应用程序初始化时调用$route
更新函数:
yourApp.run(['$route', function($route) {
$route.reload();
}]);
此外,仅包含$route
作为依赖关系就足够了。这也可行:
yourApp.run(['$route', angular.noop]);
来源:相关的issue on github。
另请查看 ui-router ,其目的是专门处理嵌套视图问题。