Jeśli chciałbym użyć składni "Controller as ..." w Angular, jak mam podejść do rzeczy takich jak $ scope. $ On (...), które muszę włożyć do kontrolera?
Mam wrażenie, że mogę to zrobić w inny sposób niż pokazany poniżej. Tutaj, aby uzyskać $ scope. $ Na pracy i wiążę "to" z funkcją wywołania zwrotnego. Próbowałem wywołać $ on na "tym" wewnątrz kontrolera, ale to nie zadziałało.
Czy możesz dać mi wskazówkę tutaj lub jeśli jestem całkowicie zepsuty, czy możesz wskazać mi jakiś właściwy sposób na zrobienie tego? Dzięki.
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>
Dziękuję @jedanput za wyjaśnienie i skierowanie mnie do. Funkcja run(). Twoje zdrowie! – Greg
Myślę, że chodziło Ci o "cukier syntaktyczny" zamiast "cukier syntetyczny" – Krimson
Zdecydowanie, okrzyki –