私は流星の角度のjs ui-router解決を使用して、ユーザーリストから選択した1人のユーザーの情報を読み込もうとしています。ui-routerでのMeteorのコレクションの解決
$stateProvider
.state('userprofile', {
url: '/user/:userId',
cache: false,
template: '<user-profile userinfo="$resolve.userinfo"></user-profile>',
controller: UserProfile,
controllerAs: name,
resolve: {
userinfo: function($stateParams) {
viewedUser = Meteor.users.findOne({
_id: $stateParams.userId
});
return viewedUser;
},
}
});
問題は、ユーザーリストから初めて、ユーザープロファイルが正しく表示されることです。ただし、ページのリロードにより、userinfoは未定義になります。 私は2回目からコントローラーが既にロードされているので、解決が完了する前に表示されますか?しばらくは、検索した後
は、私はそれは私が期待通りに、ユーザープロファイルが、私はページを更新するたびに表示された作品$ Q、および$タイムアウト
resolve: {
userinfo: function($stateParams, $q, $timeout) {
deferred = $q.defer();
$timeout(function() {
deferred.resolve(Meteor.users.findOne({
_id: $stateParams.userId
}));
}, 1000);
return deferred.promise;
},
}
を試してみました。 しかし、遅延を500に下げると、リフレッシュ時には未定義に戻ります。 この場合、なぜ遅延が長く働くのかわかりませんか?
ありがとうございました!ここ