最初我以爲$ scope會自動注入到Angular JS的控制器中,但現在我感到困惑。我寫了一小段代碼。
的index.html
<html ng-app>
<body ng-controller="Controller">
<input type="text" ng-model="fname">
<span ng-bind="fname"></span>
<body>
</html>
的script.js
angular.module('docsSimpleDirective', [])
.controller('Controller', ['$http', function($scope) {
$scope.fname = 'Foo Bar';
}])
正如你可以看到這裏我不注入$範圍控制器。加載頁面時,它不會在文本字段或跨度上顯示「Foo Bar」。但是,當我開始在文本字段上寫一些值時,它反映了跨度。這意味着在範圍內聲明'fname',但它爲什麼沒有在頁面加載顯示。 當我注入$ scope時,一切正常。
您注射'$ http'到控制器,但稱這是'$ scope'。 – 2014-08-28 11:45:02
@JimCote:不,我有意傳遞$ http,因爲我需要它,它只是一小段代碼來顯示示例 – user3427540 2014-08-28 12:12:19
數組中的字符串列表應該與控制器函數的參數匹配。否則,縮小會打破你的應用程序。您的代碼不會將$ http注入到控制器中。 – 2014-08-28 22:53:23