私は流星アプリを持っており、以下のようなIron Routerの設定で一度にすべての公開関数を呼び出しています。私は、ユーザーがログインされた後、サブスクリプションを返すようにしたいので、私は)(Meteor.userIdを確認してください。Meteor:Publish関数はユーザーがログインした後にページを更新する必要があります
Router.configure({
layoutTemplate: 'layout',
loadingTemplate: 'loading',
notFoundTemplate: '404',
waitOn: function() {
if (Meteor.userId()) {
return [Meteor.subscribe('users'),
Meteor.subscribe('company'),
Meteor.subscribe('projects'),
Meteor.subscribe('columns'),
Meteor.subscribe('cards'),
Meteor.subscribe('contents'),
Meteor.subscribe('labels'),
Meteor.subscribe('notifications')];
}
}
});
機能は次のようにuser.companyIdに依存するすべて同じ構造を持っている公開:
Meteor.publish('cards', function() {
if (this.userId) {
const user = Meteor.users.findOne({ _id: this.userId, companyId: { $exists: true } });
if (user) {
return Cards.find({ companyId: user.companyId });
}
} else {
this.ready();
}
});
私の問題は、ユーザー登録時にアカウントが作成され、companyIdがユーザーに保存されますが、ログインするときに表示される唯一の方法はブラウザを更新することです。私はそれを反応的にしたい。 meteor guideから
あなたが公開-複合これを達成するために使用することができます。 – MasterAM