12

我想在使用模块时定义一个控制器:

angular.module('todoList', [], function () {

}).controller('myCtrl', function ($scope) {
    return function ($scope) {
        $scope.todos = [
            {
                text: "Hello"
            }, {
                text: "World"
            }
        ]
    }

})

然后我想使用模块和ccontroller:

<div ng-controller="myCtrl" ng-app="todoList">  
        <li ng-repeat="todo in todos">
            <span>{{todo.text}}</span>
        </li>>
</div>

但它什么也不渲染,我的代码有什么问题?

4

5 回答 5

15

你的控制器错了,没有必要有返回功能。

angular.module('todoList', [], function () {

}).controller('myCtrl', function ($scope) {

        $scope.todos = [
            {
                text: "Hello"
            }, {
                text: "World"
            }
        ]
})

演示:Plunker

于 2013-04-01T03:51:43.190 回答
2

官方文档:

http://docs.angularjs.org/guide/controller

句法:

var myApp = angular.module('myApp',[]);

myApp.controller('GreetingController', ['$scope', function($scope) {
  $scope.greeting = 'Hola!';
}]);
于 2014-04-11T02:06:46.153 回答
1
var myName1=angular.module("myName",[]);
myName1.controller("nameInfo",["$scope",function($scope){
$scope.name="Rajnish";
$scope.address="Delhi";
}
])
于 2014-03-29T14:44:11.577 回答
0

没有太大的不同,但这个也有效。

angular.module('todoList', []).
    controller('myCtrl', 
      function ($scope){
       $scope.todos=[{text: "Hello"},{text: "World"}];
     });
于 2013-11-26T00:45:08.103 回答
0

你也可以通过使用 JS 严格模式来做到这一点 -

(function() {
'use strict';
angular.module('listProject', []);
})();

(function() {
'use strict';
angular.module('listProject').controller('MyController', ['$scope', 
  function($scope) {
    console.log("Hello From ListProject Module->My Controller"):

   }

])

})();
于 2016-06-20T17:30:10.647 回答