我正在使用Angular Meteor,并且遇到了我的对象/数组问题。我有这样的代码:角流星物体没有如预期的那样起作用
angular.module("learn").controller("CurriculumDetailController", ['$scope', '$stateParams', '$meteor',
function($scope, $stateParams, $meteor){
$scope.curriculum = $meteor.object(CurriculumList, $stateParams.curriculumId);
$scope.resources = _.map($scope.curriculum.resources, function(obj) {
return ResourceList.findOne({_id:obj._id})
});
console.log($scope.resources)
}]);
我试图遍历“资源”,这是在课程对象嵌套数组中,“ResourceList”集合中查找每个值,并在返回新数组范围。
问题是,有时它有效,有时它没有。当我加载页面并通过UI路由器链接访问它时。按预期得到阵列。但是,如果页面刷新,$ scope.resources是一个空数组。
我的想法是异步调用正在进行,但一直没能找到解决方案。我仍然安装了autopublish软件包。任何帮助,将不胜感激。
查看[发布复合材料](https://atmospherejs.com/reywood/publish-composite)的气氛,你将能够获得这一切完成服务器端并节省了很多问题。如果你想要一个演示,我会把它写成答案。你在这里遇到的问题是角度和页面正确刷新控制器的问题。 –
生病看看我可以采取这一点,感谢指针。 – GMarsh
@TjGienger。感谢您的建议。看起来这可以做我所需要的,但我不知道如何完成它。在示例中,他们使用find返回一个游标(例如,具有多个帖子)。然后他们重复这些并做他们想要的。相反,我期待找到一个,然后遍历该文档中的嵌套字段,将每个文档映射到另一个集合中的文档。有没有办法做到这一点与发布组合包?演示将是惊人的。谢谢。 – GMarsh