Ich schreibe eine angularjs App. Die Anforderung besteht darin, die Benutzerdaten anzuzeigen, sobald sich der Benutzer anmeldet. Wenn sich ein Benutzer erfolgreich anmeldet, wird er zur nächsten Ansicht weitergeleitet. Meine Bewerbung funktioniert bis zu diesem Punkt. Jetzt, während die nächste Ansicht geladen wird, muss ich die vorhandenen Datensätze des Benutzers anzeigen. An dieser Stelle sehe ich jedoch eine leere Seite. Ich kann in der Konsole deutlich sehen, dass die Daten zurückgegeben werden, aber es ist nicht bindend. Ich habe $ scope verwendet. $ Watch, $ scope. $ Apply, habe sogar versucht, den Bereich auf dem UI-Element aufzurufen, aber alle führen dazu, dass der Digest bereits ausgeführt wird. Was soll ich machen? Die Seite lädt beim AktualisierenAngularJs erfordert Seitenaktualisierung nach API-Aufruf
(function() {
"use strict";
angular.module("app-newslist")
.controller("newsController", newsController);
function newsController($http,$q,newsService,$scope,$timeout)
{
var vm = this;
$scope.$watch(vm);
vm.news = [];
vm.GetTopNews = function() {
console.log("Inside GetTopNews");
newsService.GetNewsList().
then(function (response)
{
angular.copy(response.data, vm.news);
}, function() {
alert("COULD NOT RETRIEVE NEWS LIST");
});
};
var el = angular.element($('#HidNews'));
//el.$scope().$apply();
//el.scope().$apply();
var scpe = el.scope();
scpe.$apply(vm.GetTopNews());
//scpe.$apply();
}
})();
Vielen Dank für
Wie werden angezeigt, die Sie 'vm.news' in der Benutzeroberfläche? – Kyle