Для доступа к функциям контроллера используются два шаблона: this
и $scope
.
Что я должен использовать и когда? Я понимаю, что this
установлен на контроллер, а $scope
- объект в цепочке областей видимости. Но с новым синтаксисом "Controller as Var" вы можете легко использовать любой из них. Итак, что я спрашиваю, это то, что лучше и каково направление будущего?
Пример:
-
Использование
this
function UserCtrl() { this.bye = function() { alert('....'); }; }
<body ng-controller='UserCtrl as uCtrl'> <button ng-click='uCtrl.bye()'>bye</button>
-
Использование
$scope
function UserCtrl($scope) { $scope.bye = function () { alert('....'); }; }
<body ng-controller='UserCtrl'> <button ng-click='bye()'>bye</button>
Я лично считаю, что this.name
будет проще на глазу и более естественным по сравнению с другими шаблонами OO Javascript.
Посоветуйте пожалуйста?