AngularJS module: this versus $scope
AngularJS module: this versus $scope
我是AngularJS的新手。我想知道两者之间有什么区别以下两个代码片段:
I。使用以下代码定义控制器:
var app = angular.module('greeting', []);
app.controller('HelloCtrl', function() {
this.name = 'Hello World';
});
II。使用$scope:定义控制器的代码
var app = angular.module('greeting', []);
app.controller('HelloCtrl', function($scope) {
$scope.name = 'Hello World';
});
谢谢。
这两个实现在视图中的使用方式不同。this语法与控制器一起使用作为句法,这本质上使您的控制器成为您的视图模型。
控制器为例
在控制器中
this.text = "Controller as example"
在视图中
<div ng-controller="myCtrl as controllerViewModel">
{{controllerViewModel.text}}
</div>
等效范围
在控制器中
$scope.text = "Scope example";
在视图中
<div ng-controller="myCtrl">{{text}}</div>
以下是一些关于主题的有用链接
https://docs.angularjs.org/api/ng/directive/ngController
http://toddmotto.com/digging-into-angulars-controller-as-syntax/
https://thinkster.io/egghead/experimental-controller-as-syntax/
"this"指的是HelloCtrl的实例。。。$scope是一个完全不同的对象,它已经获得状态,并通过角度进行管理
相关文章:
- AngularJS:ng之后,重复$scope值未按预期更新
- $ionicplatform内的$scope不;不起作用
- 使用$scope方法时的ControllerAs语法
- 如何将ngrepeat下的ngmodel绑定到$scope
- 另一个if(!$scope.$$phase)$scope$apply()szenario-需要帮助才能通关
- 使用AngularJS Directive WHITOUT$scope创建一个动态html元素
- $scope变量被视为字符串AngularJs
- ng在更新$scope后重复不更新信息
- 正在获取Angular以检测$scope中的更改
- 如何惯用地手动销毁scope&在AngularJS中重新创建
- Understanding Javascript scope with "var that = this&qu
- AngularJS,angular.element($0).scope()揭示了每个控制器的函数
- Ng出口无法访问父$scope
- ng选项-用vm替换$scope
- $scope变量,ng隐藏/显示
- 强制 $scope.$watch 只开火一次
- Ionic:AngularJS变量未使用$scope更新DOM
- Angular$scope在模式窗口内不起作用
- 在将绑定应用于控制器之后,是否会发出Angular$scope事件
- AngularJS module: this versus $scope