最初我以为$ 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