Различия в производительности между функциями контроллера, определенными в `$ 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
, но не долго.