【发布时间】:2014-12-11 15:22:12
【问题描述】:
我有 some simple Angular.js code 不明白。
HTML:
<div ng-controller="MyCtrl">
Hello, {{name}}!
</div>
JavaScript:
var myApp = angular.module('myApp',[]);
var controller = myApp.controller('MyCtrl', ['$scope', function ($scope) {
$scope.name = 'Superhero';
}]);
alert(controller.name);
HTML 指令产生了我所期望的:“你好,超级英雄!”被渲染到页面。但是警报框令人困惑。我希望它显示字符串“Superhero”,或者控制器的名称“MyCtrl”,但它实际显示的是模块的名称“MyApp”。为什么?我需要传递给alert 以显示分配给控制器范围的名称(即“Superhero”)或控制器本身的名称(即“MyCtrl”)?
(注意,我确实尝试过the documentation,但它并没有帮助我解开为什么控制器报告的是模块的名称而不是它自己的名称。)
【问题讨论】:
-
myApp.controller()返回模块,以便您可以将注册链接在一起 -
这说明正在发生的事情。如何以编程方式访问我刚刚创建的控制器?另外,myApp.controller() 的文档在哪里? The documentation I was looking at 建议它返回控制器,但这可能是错误的页面
标签: angularjs