私はangularjsアプリケーションを作成しています。要件は、ユーザーがログインするとユーザーのデータを表示することです。ユーザーが正常にログインすると、そのユーザーは次のビューにルーティングされます。私のアプリケーションはこの時点までうまく機能しています。次のビューが読み込まれると、ユーザーの既存のレコードを表示する必要があります。しかし、この時点で空白のページが表示され、データが返されているが、バインドされていないことがコンソールで明確にわかります。私は$ scope、$ scope、$ applyを使用しましたが、UI要素のスコープを呼び出そうとしましたが、それらはすべてダイジェストが既に進行中になっています。私は何をすべきか?リフレッシュするとページが読み込まれます。AngularJsはAPI呼び出し後にページを更新する必要があります
(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();
}
})();あなたがあなたのテンプレートでこれを結合している方法を示していない
どのように 'UIでvm.news'を表示していますか? – Kyle