我有 2 个 mongo 流星集合,命名应用程序和滑块我有一个订阅它们的服务,当它们准备好时,它会以树格式填充一个数组。
问题是,当集合发生变化时,没有任何东西可以告诉服务。因此,如果我将集合和数组打印到 html 中,第一次所有内容都会同步,但在更改集合后,只有集合会更改.. 数组不会
简而言之,当数据库中的集合发生变化时,流星集合被更新,但不是我的“部分”数组
在我的服务中:
var applications, sliders;
var sections = [{
name: 'Getting Started',
//state: 'home.gettingstarted',
type: 'link'
}];
$meteor.subscribe('applications').then(function(subscriptionHandle) {
applications = $meteor.collection(Applications);
}).then(function(subscriptionHandle) {
$meteor.subscribe('sliders').then(function(subscriptionHandle) {
sliders = $meteor.collection(Sliders);
createSections();
});
});
function createSections() {
//some login to create a tree
for (var i = 0; i < applications.length; i++) {
var pages = [];
for (var j = 0; j < sliders.length; j++) {
if (sliders[j].appId != applications[i].id())
continue;
var page = {};
page.name = sliders[j].nm;
page.type = "link";
page.data = sliders[j];
pages.push(page);
}
sections.push({
name: applications[i].nm,
type: 'toggle',
pages: pages,
data: applications[i]
});
}
}
控制器在使用该服务。html 正在循环这些部分。