は今angular2 - 流星に我々は使用して私たちの見解にコレクションが変更に役立ちますMongo.Cursorとゾーン()メソッドの代わりにMongoObservable.Collectionを使用して開始しました私たちのコンポーネントのゾーンと| HTMLテンプレートのasyncここにはlatest tutorialのはMeteor.users.find上のゾーンを()を使用する方法({})
のリンクがあります。新しいMetaor.users.find({})メソッドでこのゾーン()メソッドを使用して、新しいユーザーが正常に作成されたときに自動的にすべてのユーザーを表示しようとしています。クライアント側で私は
userlist: Observable<any[]>;
userSData: Subscription;
ngOnInit() {
this.usersData = MeteorObservable.subscribe('userData').subscribe(() => {
this.userlist=Meteor.users.find({}).fetch();
});
htmlコードを使用している
Meteor.publish("userData", function() {
if (Roles.userIsInRole(this.userId, 'admin')) {
return Meteor.users.find();
} else {
const selector = {
'_id': this.userId
};
return Meteor.users.find(selector);
}
});
と私のサーバー側の
コードは私がに.zone()を適用する際に
<li class="list-item" *ngFor="let user of userlist">
ですこのthis.userlist = Meteor.users.find({}).zone();
このエラーが発生します。
TypeError: meteor_1.Meteor.users.find(...).zone is not a function
私はzone()と| asyncを実行すると、すべてのユーザーリストが取得されますが、ユーザーを削除したり新しいユーザーを作成したりすると、リストが自動的に更新されず、更新する必要があります。新しいコンテンツを自動レンダリングするには、ゾーンと非同期を使用する必要がありますが、Meteor.users.find()では使用できません。
私は流星に新しいと角度午前私はユーザーをリストアップしようとしています。しかし、this.userlist = Meteor.users.find({})。fetch();にエラーが発生しました。割り当てできません。それはあなたのために正しく働いていますか? –
コレクションの宣言は次のようにする必要があります。 'export const Users = MongoObservable.fromExisting(Meteor.users);'このようにアクセスできます。this.usersData = MeteorObservable.subscribe( 'userData')。subscribe(()=> { this.userlist = Users。 find({})。zone(); }); ' –
ありがとう!これは動作します! –