use*_*246 6 javascript angularjs angularjs-scope
我在AngularJS风格指南中找到了这个
首选使用控制器作为语法并使用变量捕获它:
这意味着我可以通过它将所有功能和模型分配给控制器,并通过视图中的别名进行访问.如果我这样做,我发现我真的没有用$scope了.一个例外是当我想访问其中的内容时$rootScope.
因此,考虑到引用的建议,$scope如果我不想访问任何内容,我应该何时使用$rootScope?
也就是说,我应该将所有东西都移到控制器上this吗?如果没有,那么应该留在$scope什么?
如果我不想访问$ rootScope中的任何内容,我应该何时使用$ scope?
$scope不仅仅是为了访问中的属性或功能$rootScope.示例(通常不常见):假设您需要更新DOM元素而不是以角度方式更新,这意味着通过任何修改组件值的外部库(可视化)更新它,但ng-model组件的内容不会得到更新,你需要它!该怎么办?简单:( $scope.$digest取决于你做什么,可能还需要任何其他角度功能).我应该把所有东西都搬到控制器那里吗?
angular
.module('myapp', [])
.controller('foo', function() {
var vm = this;
// only this will be available in the view thanks to the controller as syntax
vm.wizard = {
userID: null,
totalCartCount: 0
}
// stuff used only inside the controller
vm.private = {
subtotalByProducts: [],
readyToCheckoout
}
// only "public" stuff is returned here
return vm.wizard;
// functions
});
Run Code Online (Sandbox Code Playgroud)
如果没有,那么什么应该留在$ scope?
您放入的$scope内容完全取决于您,因为它使用的是controller as语法,但请记住,$scope视图中的所有内容都可以访问.这个想法是减少传递给视图的变量.这在小型webapp中并不明显,但是当应用程序的大小变大时,您可以注意到一些更改(更多时间加载等).
这是每个开发人员的观点问题,以及我们任何人使用最佳实践的喜好程度.
| 归档时间: |
|
| 查看次数: |
4592 次 |
| 最近记录: |