我有一个SPA'博客'使用ui-router并使用firebase作为Angular Fire的后端。博客页面调用数组没有问题,并正确加载。当我选择一个单独的帖子时,它会从$ fireParams({id:post。$ id})加载来自firebase通过帖子提取的数组。
然而,当我刷新该页面时,唯一的帖子就会丢失。
代码如下:Router =
.state(homeState = {
name: 'root.home.post',
url: '/{{postId}}',
views: {
'main@': {
templateUrl: 'views/post/post.html'
}
}
})
post.js =
var id = $stateParams.postId; // console.logs correctly even after refresh
var ref = Posts; //console.logts $resolved: false after refresh though data from main page still in the array
var post = ref.$getRecord(id); //console.logs as null after refresh
$scope.post = post;
不确定这是否足够继续,但我现在已经挣扎了几个小时并想睡觉。欢呼声。
答案 0 :(得分:0)
解决了我自己的问题(两次折叠)
更新了post.js,以便在页面的其余部分被绘制后加载时加载。$ loaded的更新:
var id = $stateParams.postId;
console.log(id);
var ref = Posts.$loaded().then(function(ref){
var post = ref.$getRecord(id);
$scope.post = post;
});
我还更新了路径以删除参数周围的{}:
.state(postState = {
name: 'root.post',
url: '/post/{postId}',
views: {
'main@': {
templateUrl: 'views/post/post.html'
}
},
})