Ansicht zu sehen in:kann nicht aktualisiert Controller binden als variable AngularJS
<div ng-controller="MainPageController as mpc">
<h1>{{mpc.city}}</h1>
</div>
Controller:
app.controller('MainPageController',['GetCityService', function(GetCityService){
this.city = null;
this.getCityService = GetCityService;
this.getCityService.getCity().success(function(data){
this.city = data.city
console.log(this.city); // Prints the city correctly.
});
}]);
Ich versuche, "Controller als" Methode zu verwenden, um Werte von der Steuerung zuzugreifen. Mein Dienst gibt den Städtenamen korrekt zurück, der der Controller-Variablen "this.city" zugewiesen ist. aber ich bin nicht in der Lage, den Wert in der Ansicht zu binden "
Bitte lassen Sie mich wissen, wenn ich es falsch mache. PS: Ich habe versucht, $ Scope zu verwenden, es funktioniert perfekt Ich kann nicht verstehen, warum ich die Controller-Variable nicht binden kann "und wenn möglich vorschlagen, wenn $ scope und diese Variablen verwendet werden sollen.
Vielen Dank im Voraus :)
Versuchen Sie: 'app.controller ('MainPageController', ['GetCityService', Funktion (GetCityService) {var vm = dies; ...', dann führen Sie alle Ihre Aktionen/Variablen mit 'vm. ...' – developer033
Es hat total funktioniert Vielen Dank @developer033 Kannst du mir bitte eine Erklärung für den Unterschied geben, wie man 'this' einer Variablen zuweist und direkt 'this' benutzt, immer – Jarvis