3

在 Angular 中,您可以在控制器中定义方法,方法是将它们附加到$scope

$scope.myFunction = function () { ... }

当然,您也可以将它们附加到this,我已经看到用于在指令和父控制器之间进行通信:

/* within the controller */
this.myFunction = function () { ... }

由于 Angular 观察值,这两种方法之间是否存在性能差异?

即使没有性能差异,这似乎是保持某些方法私有的好方法,因此不会意外地从视图访问它们。

4

1 回答 1

1

从文档(http://docs.angularjs.org/guide/dev_guide.mvc.understanding_controller):

注意:以前版本的 Angular(1.0 RC 之前)允许您将其与 $scope 方法互换使用,但现在不再如此。在范围内定义的方法 this 和 $scope 是可互换的(角度将 this 设置为 $scope),但在控制器构造函数内则不能。

也是,但this时间$scope不长。

于 2013-08-15T17:14:51.487 回答