在Angular中,您可以通过将方法附加到$scope
:
$scope.myFunction = function () { ... }
当然,您也可以将它们附加到this
,我已经看到它用于指令与父控制器之间的通信:
/* within the controller */
this.myFunction = function () { ... }
由于Angular观察值,两种方法之间是否存在性能差异?
即使没有性能差异,这似乎是一种保持某些方法私有的好方法,因此它们不会被意外地从视图中访问。
答案 0 :(得分:1)
来自文档(http://docs.angularjs.org/guide/dev_guide.mvc.understanding_controller):
注意:早期版本的Angular(1.0 RC之前版本)允许您与$ scope方法互换使用,但现在不再是这种情况了。在范围内定义的方法内部,这个和$ scope是可以互换的(角度设置为$ scope),但在控制器构造函数中没有。
所以this
是$scope
,但不会很久。