Различия в производительности между функциями контроллера, определенными в `$ scope` или` this` - AngulrJS

В Angular вы можете определить методы в своем контроллере, присоединив их к $scope:

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

Конечно, вы также можете прикрепить их к this, который я видел для связи между директивами и родительским контроллером:

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

Существуют ли различия в производительности между двумя подходами из-за Angular просмотра значений?

Даже если нет различий в производительности, это похоже на хороший способ сохранить некоторые методы закрытыми, поэтому они случайно не будут доступны из представления.

Ответы

Ответ 1

Из документов (http://docs.angularjs.org/guide/dev_guide.mvc.understanding_controller):

NB: предыдущие версии Angular (pre 1.0 RC) позволили вам использовать это взаимозаменяемо с методом $scope, но это уже не так. Внутри методов, определенных в области видимости, это и $scope являются взаимозаменяемыми (angular устанавливает это значение в $scope), но не внутри внутри вашего конструктора контроллера.

Итак this есть $scope, но не долго.