Angularjs $scope是一个普通函数参数还是一个特殊的参数?
我完全是一个有棱角的初学者。我在看w3schools教程: 我试图改变Angularjs $scope是一个普通函数参数还是一个特殊的参数?,angularjs,Angularjs,我完全是一个有棱角的初学者。我在看w3schools教程: 我试图改变 app.controller('myCtrl',函数($scope){ $scope.firstName=“John”; $scope.lastName=“Doe”; });您可以更改参数的名称,但需要使用以下语法表示法: app.controller('myCtrl', function(a) { a.firstName = "John"; a.lastName = "Doe"; }); app.co
app.controller('myCtrl',函数($scope){
$scope.firstName=“John”;
$scope.lastName=“Doe”;
});代码>您可以更改参数的名称,但需要使用以下语法表示法:
app.controller('myCtrl', function(a) {
a.firstName = "John";
a.lastName = "Doe";
});
app.controller('myCtrl', ['$scope', function(a) {
a.firstName = "John";
a.lastName = "Doe";
}]);
请看一看与此问题非常相似的:是的,$scope
是一个特殊参数,至少在开始时,它是Angular的主要构建块之一。我还建议不要向学校学习。一个好的起点是我理解作用域的目的是什么,我不明白的是Javascript如何允许函数参数出现这种奇怪的行为?Angular检查参数名称以确定为每个参数注入什么。因此,更改其名称意味着Angular不再知道要注入什么。查看@tommy的答案,了解如何手动注入依赖项。因此,Angular对这些方法进行了一些反思,这就是为什么参数名很重要,对吗?它使用第一个参数作为函数参数的真实名称。这是必要的,因为如果没有这种语法,缩小过程将破坏应用程序。