2015-01-20 57 views
0

財產「helloMessage」我得到以下錯誤錯誤無法設置的不確定

的不確定

當我運行下面的代碼無法設置屬性「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

回答

1

您不應該調用控制器構造函數,而應該只提供控制器函數引用。當你手動調用它時1)你正在調用它並將未定義的(返回值)設置爲控制器,如果在所有調用成功(它在你的情況下都會失敗)。 2)沒有由於依賴噴射到手動調用,否則將通過角DI發動機($噴射器被噴射)

變化

.controller("HelloWorldCtrl", ["$scope", HelloWorldCtrl()]); 
                 ^___ 

.controller("HelloWorldCtrl", ["$scope", HelloWorldCtrl]); 
+0

感謝。那樣做了 – 2015-01-20 21:21:16