我是angularJS的新手,想知道以下内容是什么意思:
为什么在下面的陈述中重复了MsgController
这个词:
angular.module('MsgApp', [])
.controller('MsgController', MsgController);
这是什么意思:
MsgController.$inject = ['$scope'];
以下是完整代码:
<!DOCTYPE html>
<html ng-app='MsgApp'>
<head>
<title></title>
<meta charset="utf-8"/>
<script src="angular.js"></script>
<script>
(function () {
'use strict';
angular.module('MsgApp', [])
.controller('MsgController', MsgController);
MsgController.$inject = ['$scope'];
function MsgController($scope) {
$scope.name = "Dog";
$scope.stateOfBeing = "hungry";
$scope.sayMessage = function () {
return "Dog like to eat healthy snacks";
}
$scope.feedDog = function () {
$scope.stateOfBeing = "fed";
}
}
})();
</script>
</head>
<body>
<h1>Expressions and Interpolation</h1>
<div ng-controller='MsgController'>
{{name}} has a message for you:<br/>
{{sayMessage()}}
<div>
<button ng-click="feedDog()">Feed Dog</button>
<br/>
<img ng-src="images/dog_{{stateOfBeing}}.jpg"/>
</div>
</div>
</body>
</html>
答案 0 :(得分:1)
.controller('MsgController', MsgController);
这里,第一个参数表示Controller的名称,第二个参数表示功能,即映射到控制器的功能。
MsgController.$inject = ['$scope'];
它表示$ scope作为依赖项传递给控制器 MsgController
。
答案 1 :(得分:0)
嘿,你也可以像这样定义
angular.module('MsgApp',[]) .controller('MsgController',MsgController);
/ ** @注入* /
function MsgController($ scope){
//做点什么
}
在自动构建任务中使用gulp-ng-annotate或grunt-ng-annotate。
在任何具有依赖关系的函数之前注入/ * @ngInject * /。