web-dev-qa-db-fra.com

Angular.js: Comment créer un contrôleur dans le module?

Je veux définir un contrôleur quand utiliser le module:

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

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

})

alors je veux utiliser le module et le ccontroller:

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

mais cela ne rend rien, qu'est-ce qui ne va pas avec mon code?

12
hh54188

Votre contrôleur a tort, il n’est pas nécessaire d’avoir une fonction de retour.

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

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

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

Démo: Plunker

15
Arun P Johny

Documents officiels:

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

Syntaxe:

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

myApp.controller('GreetingController', ['$scope', function($scope) {
  $scope.greeting = 'Hola!';
}]);
2
Bijan
var myName1=angular.module("myName",[]);
myName1.controller("nameInfo",["$scope",function($scope){
$scope.name="Rajnish";
$scope.address="Delhi";
}
])
1
Rajnish Bakaria

Vous pouvez le faire aussi en utilisant JS strict mode-

(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"):

   }

])

})();
0
mogg

Pas très différent mais celui-ci fonctionne aussi.

angular.module('todoList', []).
    controller('myCtrl', 
      function ($scope){
       $scope.todos=[{text: "Hello"},{text: "World"}];
     });
0
Otpidus