Если я хотел бы использовать синтаксис "Контроллер как..." в Angular, как мне подойти к таким вещам, как $scope. $on (...), которые мне нужно ввести внутри контроллера?
У меня создается впечатление, что я мог бы сделать это иначе, чем тот, который показан ниже. Здесь, чтобы получить $scope. $При работе я привяжите "this" к функции обратного вызова. Я попытался вызвать $on на "this" внутри контроллера, но это не сработало.
Не могли бы вы дать мне подсказку здесь или если я полностью запутался, не могли бы вы указать мне на правильный путь? Спасибо.
main.js:
angular.module('ramaApp')
.controller('MainCtrl', ['$scope', '$location', function ($scope, $location) {
this.whereAmINow = 'INDEX';
$scope.$on('$locationChangeStart', function(event) {
this.whereAmINow = $location.path();
}.bind(this));
this.jumpTo = function(where) { $location.path(where); }
}]);
index.html
<div ng-controller="MainCtrl as main">
<p>I am seeing the slide named: {{ main.whereAmINow }}</p>
<div ng-click="main.jumpTo('/slide1')">Slide 1</div>
<div ng-click="main.jumpTo('/slide2')">Slide 2</div>
<div ng-click="main.jumpTo('/slide3')">Slide 3</div>
</div>