如果我有一个控制器,如:
myApp.controller('NewController', function ($scope, $window) {
var x = 5;
$scope.y = 5;
});
x
和y
将从我的应用程序中更改,无论我是否在var x
上声明$scope
或只是声明它,它是否有所不同var
就像现在一样?
答案 0 :(得分:4)
$ scope只是渲染视图和控制器之间的粘合剂。如果您不需要视图中的变量,则不要将其添加到$ scope对象。
答案 1 :(得分:2)
这完全取决于您正在开发的应用程序。如果希望通过variables
将view
与controller
的{{1}}绑定,则首选$scope
。否则,当变量仅用于某些内部功能时,则应该使用JavaScript var
,因为它在使用AngularJS框架时不会妨碍性能,添加不必要的变量。根本不需要双向绑定或单向绑定。
答案 2 :(得分:0)
最好使用新的ControllerAs语法,而不是使用$ scope:
myApp.controller('NewController', function ($scope, $window) {
this.y = 5;
});
对于原生JS而言,很明显你不需要var"这个",对吗?
答案 3 :(得分:0)
如果你将值绑定到任何更改模型时应该更改的html dom,那么你应该使用$ scope。否则你可以使用var和$ scope。但现在角度2.0 $范围已被删除。