我正在尝试使用 Angular Meteor 1.3 获得最优秀的 dburles/meteor-collection-helpers 包。我有两个系列。
Lists.attachSchema(new SimpleSchema({
title: {
type: String
},
archived: {
type: Boolean
}
createdAt: {
type: Date,
denyUpdate: true
},
sort: {
type: Number,
decimal: true,
optional: true
},
updatedAt: {
type: Date,
denyInsert: true,
optional: true
}
}));
和卡片:
Cards.attachSchema(new SimpleSchema({
title: {
type: String
},
archived: {
type: Boolean
},
listId: {
type: String
},
members: {
type: [String],
optional: true
},
userId: {
type: String
},
sort: {
type: Number,
decimal: true
}
}));
我定义了一个集合助手如下:
Lists.helpers({
cards() {
return Cards.find({
listId: this._id,
archived: false
}, {sort: ['sort']});
}
});
我正在使用发布组合首先获取列表,然后通过订阅关联卡片。这很管用。但是在我的模板中,当我似乎无法弄清楚list.cards()
在我的ng-repeat
. 这是我的控制器的一个片段,以及相关的模板标记。
$reactive(this).attach($scope);
//note this is composite publish
this.subscribe('list', () => {
return [$stateParams.listId];
});
this.helpers({
lists: () => {
return Lists.findOne({_id: $stateParams.listId});
}
});
<a class="" ng-repeat="card in list.cards">
- 我主要得到无限消化问题
- 你不能调用
list.cards()
,不能使用函数ng-repeat
,ng-repeat
我尝试时遇到无限消化问题 - 在示例中调用什么都不做,但我相信那是因为它返回一个函数。
- 其他较旧的解决方案仅涉及添加范围函数和查询,但这似乎不起作用并且失去反应性。
有什么明显的吗?我已经看到其他一些人遇到了同样的问题,但是在早期版本的角流星中没有成功,希望有人能解决这个问题。谢谢。