Angular Meteor 1.3 で動作する最も優れた dburles/meteor-collection-helpers パッケージを取得しようとしています。私は2つのコレクションを持っています。
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
- 例のように呼び出しても何も起こりませんが、それは関数を返すためだと思います。
- 他の古いソリューションでは、スコープ関数を追加してクエリを実行するだけですが、それは機能せず、反応性が失われるようです。
明らかなことはありますか?私はこれと同じことで問題を抱えている他の人を見てきましたが、角流星の以前のバージョンでは成功せず、誰かがこれを理解していることを願っています。ありがとう。