我收到错误后出现错误
无法设置未定义的属性'helloMessage'
当我运行以下代码时:
HTML:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" ng-app="app">
<head>
<title>Hello World</title>
</head>
<body>
<script src="js/angular.min.js"></script>
<script src="js/helloWorld.js"></script>
<h1 ng-controller="HelloWorldCtrl">{{helloMessage}}</h1>
</body>
</html>
Javascript(helloWorld.js):
(function (angular) {
function HelloWorldCtrl ($scope) {
$scope.helloMessage = "Hello World";
}
angular.module("app", []).controller("HelloWorldCtrl", ["$scope", HelloWorldCtrl()]);
})(angular);
有什么想法吗?我正在使用角度版本1.2.28
答案 0 :(得分:1)
您不应该调用控制器构造函数,而只是提供控制器函数引用。当您手动调用它时1)您正在调用它并将undefined(返回值)设置为控制器,如果所有调用都成功(在您的情况下它就失败了)。 2)由于手动调用没有依赖注入,否则将由角度DI引擎($ injector)注入
更改
.controller("HelloWorldCtrl", ["$scope", HelloWorldCtrl()]);
^___
到
.controller("HelloWorldCtrl", ["$scope", HelloWorldCtrl]);