我正在使用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