我刚刚开始关注Angular,但我很难满足$scope
的需求。 Javascript已经通过上下文(即this
)具有范围概念,并允许程序员使用call
或apply
在函数上注入该上下文。
Angular,$scope
和关键字this
之间是否有任何差异?
如果存在差异,那么控制器或指令中this
的值是多少?
提前致谢:)
答案 0 :(得分:1)
是的,它们完全不一样。构造函数只是一个由注入器创建的实例化 new ed构造函数(您编写的函数)。
$scope
在概念上与DOM有关。在ng-controller
的元素中,$scope
和子元素也可以。如果具有自己的作用域(控制器/指令)的子元素具有与父作用域相同的属性,则无法访问它们。它还具有其摘要循环中的所有内部信息角度用法(脏检查/数据绑定),如手表,事件等。我有一个阅读this
至于myCtrl as
语法,这很不错,但它真正做的就是将控制器实例放在范围内。使用您设置的名称。
例如myCtrl as foo
是basically $scope.foo = myCtrlInstance;
。您也可以在控制器中执行此操作。