当使用ng-include添加javascript控制器不起作用

时间:2018-02-24 13:30:44

标签: angularjs dynamic include ng-controller angularjs-ng-include

  

我知道我可以在mainPage中加载所有控制器但是当有很多时   innerController和他们彼此无关。也许   将它们全部移动到mainController或mainPage

并不是一个好主意

虽然我成功加载了控制器的js文件,但我无法加载控制器。

请参阅此主页样本:

<html lang="en" ng-app="FirstPage">
<head>
    <title>test</title>>
</head>
<body>
<div class="super_container" ng-controller="firstController">
..............
    <div id="ext-content" ng-include="innerPage.html" />
..............
</div>

<script type="text/javascript" src="bower_components/angular/angular.min.js"></script>
<script src="app/apps/app.js"></script>
<script src="app/controllers/layout.js"></script>
</body>
</html>

现在看到第二页:

<script src="app/controllers/innerController.js"></script>
<div ng-controller="innerController" >
    ...................
</div>

当我在mainPage内部包含的页面上成功加载innerController.js时。但是当我在内页中加载内部控制器时,ng-include无法正常工作,我的页面找不到innerController。

1 个答案:

答案 0 :(得分:0)

控制器可能无法懒散加载。它们必须在配置阶段,启动时在模块中注册。

因此脚本必须位于index.html中,而不是包含在HTML中。