为什么$scope和'这'关键字在控制器内部可互换使用
Why $scope and 'this' keyword used interchangeably inside controller?
我正在学习Angular的基础知识,对控制器、指令、范围、模型等知之甚少。在视频中,导师用这种方式编写了控制器:
var module = angular.module('name', [dependencies])
.controller($scope)...
我想让你从上面的片段中挑选的唯一一件事是,他(导师)正在将$scope对象传递给控制器的函数。这很好,很管用。
在Angular官方网站上的一个例子中,我发现了以下代码:
angular.module('invoice1', [])
.controller('InvoiceController', function() {
this.qty = 1;
this.cost = 2;
this.inCurr = 'EUR';
this.currencies = ['USD', 'EUR', 'CNY'];
this.usdToForeignRates = {
USD: 1,
EUR: 0.74,
CNY: 6.09
};
我可以清楚地看到,在这个例子中,没有传递$scope
,而是使用this
。这是否意味着传递给控制器函数的$scope
和控制器函数内部的"this"是相同的对象?
这里有很多不同的东西。
在第一个片段中,您将创建一个名为"invoice1"的模块。此模块不注入任何第三部分库或其他模块,因此为空[]。
之后,您将创建一个控制器。这个控制器正在从Angular库注入$scope。
在您的第二个片段中,导师正在使用controllerAs语法。因此,您不需要$scope
,而是可以直接将对象绑定到控制器。在视图中,可以使用控制器的名称来引用绑定。
<div ng-controller="InvoiceController as invoice">
{{ invoice.qty }}
</div>
相关文章:
- 正在$rootScope上达到控制器作用域$在内部控制器上
- 为什么$scope和'这'关键字在控制器内部可互换使用
- 角度控制器功能不;在指令内部调用时,似乎无法始终如一地工作
- AngularJS控制器内部的功能
- 控制器内部无法访问Angular js输入模型
- 控制器内部的scope函数不根据视图中的ng模型更新值
- 在angularjs中的控制器内部调用multipe$http
- 立即调用角控制器内部的函数,这是一个很好的实践
- Angularjs 测试控制器内部的异步行为
- 在 ng 选项之后完成控制器内部的回调函数
- Angular 1.5:访问控制器内部的绑定控制器属性
- 控制器内部的角度方法调用
- AngularJS - 在服务内部对数组进行排序,在控制器/视图中保留绑定
- 从控制器内部获取表单数据
- Jasmine Test Access A Promise 在控制器内部
- 如何从控制器功能内部获取$scope
- 角度控制器内部的无限循环
- 使用工厂内部控制器
- 如何在angularjs的内部控制器中从列表中获取值
- declare和use strict有什么区别吗?在一个全局匿名函数或内部控制器?在AngularJs