AngularJS初始化控制器模块

时间:2013-12-25 14:00:28

标签: javascript angularjs

我想将我的WebApp分离到不同的模块中,用于指令,服务,控制器等,就像angular-seed一样。不知怎的,controllers.js中定义的控制器似乎不起作用。

<ul class="menu" ng-controller="MenuController">
    <li>{{hello}}</li>
</ul>

app.js中,我使用它的子模块定义了全局App模块。

// Declare app level module which depends on filters, and services
angular.module('myApp', [
    'myApp.filters',
    'myApp.services',
    'myApp.directives',
    'myApp.controllers'
]);

controllers.js我尝试定义一个不加载的控制器。当页面呈现时,我只看到{{hello}}

angular.module('myApp.controllers', []).
  controller('MenuController', function($scope) {
     $scope.hello = "world"; 
  });

如何将控制器附加到模板对应物?

2 个答案:

答案 0 :(得分:1)

问题是因为其他模块没有定义。修改myApp模块如下所示:

angular.module('myApp', [

    'myApp.controllers'
]);

http://jsbin.com/osOQOYag/2/edit?html,js,output

答案 1 :(得分:0)

似乎angular-seed在/app/index.html中具有以下脚本顺序:

<script src="lib/angular/angular.js"></script>
<script src="lib/angular/angular-route.js"></script>
<script src="js/app.js"></script>
<script src="js/services.js"></script>
<script src="js/controllers.js"></script>
<script src="js/filters.js"></script>
<script src="js/directives.js"></script>

正如@KhanhTO在评论中指出的那样,app.js应该被称为最后一次。