在AngularJS中,$ scope和本地上下文之间的区别是什么?

时间:2014-02-09 07:22:12

标签: javascript angularjs angularjs-scope

我刚刚开始关注Angular,但我很难满足$scope的需求。 Javascript已经通过上下文(即this)具有范围概念,并允许程序员使用callapply在函数上注入该上下文。

Angular,$scope和关键字this之间是否有任何差异?

如果存在差异,那么控制器或指令中this的值是多少?

提前致谢:)

1 个答案:

答案 0 :(得分:1)

是的,它们完全不一样。构造函数只是一个由注入器创建的实例化 new ed构造函数(您编写的函数)。

$scope在概念上与DOM有关。在ng-controller的元素中,$scope和子元素也可以。如果具有自己的作用域(控制器/指令)的子元素具有与父作用域相同的属性,则无法访问它们。它还具有其摘要循环中的所有内部信息角度用法(脏检查/数据绑定),如手表,事件等。我有一个阅读this

至于myCtrl as语法,这很不错,但它真正做的就是将控制器实例放在范围内。使用您设置的名称。

例如myCtrl as foobasically $scope.foo = myCtrlInstance;。您也可以在控制器中执行此操作。