モジュールを使用するときにコントローラを定義したい:
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>
しかしそれは何もレンダリングしません、私のコードの何が問題になっていますか?
コントローラーが間違っています。リターン関数を用意する必要はありません。
angular.module('todoList', [], function () {
}).controller('myCtrl', function ($scope) {
$scope.todos = [
{
text: "Hello"
}, {
text: "World"
}
]
})
デモ: Plunker
http://docs.angularjs.org/guide/controller
var myApp = angular.module('myApp',[]);
myApp.controller('GreetingController', ['$scope', function($scope) {
$scope.greeting = 'Hola!';
}]);
var myName1=angular.module("myName",[]);
myName1.controller("nameInfo",["$scope",function($scope){
$scope.name="Rajnish";
$scope.address="Delhi";
}
])
JS strictモードを使用して、このようにすることもできます-
(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"):
}
])
})();
大した違いはありませんが、これも動作します。
angular.module('todoList', []).
controller('myCtrl',
function ($scope){
$scope.todos=[{text: "Hello"},{text: "World"}];
});