[英]AngularJs $scope parameter name
我对AngularJs很陌生。 在最初的章节中,我看到$ scope被使用,就像在控制器内部一样。
<script>
var app = angular.module('app1', []);
app.controller('ctrl1', function($scope) {
$scope.fn = "John";
$scope.ln = "Parker";
});
</script>
如果我用$ s左右替换函数参数$ scope ,那么代码将无法正常工作。 这是为什么?
我的意思是,看起来我们正在传递一个回调函数左右,那么为什么参数名称很重要?
请帮忙。
提前致谢
u路
范围是引用应用程序模型的对象。 它是表达式的执行上下文。 范围以模仿应用程序DOM结构的层次结构进行排列。 范围可以监视表达式并传播事件。
$scope
是AngularJS提供的对象,它是HTML(视图)和控制器之间的绑定部分,您无法按期望的方式对其进行更改。
我建议你请阅读手册
Angular重新编译代码,并根据需求进行依赖项注入。 但是,更好的做法是以这种方式编写控制器:
app.controller('testCtrl', ['$scope', function($scope){}]);
该代码甚至可以处理文件混淆。 您可以尝试以下链接以对此有更好的了解。
您可以重命名$ scope,但需要添加一些字符串映射(以便angularjs找出如何注入正确的项)。 此功能主要用于缩小:
var app = angular.module('app1', []);
app.controller('ctrl1', ['$scope', function($s) {
$s.fn = "John";
$s.ln = "Parker";
}]);
JSFIDDLE 。
顺便说一句,最好停止使用$ scope并开始使用controlleras功能。 在这里阅读。
var app = angular.module('app1', []);
app.controller('ctrl1', function() {
this.fn = "John";
this.ln = "Parker";
});
<div ng-app="app1" ng-controller="ctrl1 as vm">
{{vm.fn}}
</div>
JSFIDDLE 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.