目的:私は購読呼び出しの後を取得された文書に基づいて、私のフロールータ機能からテンプレートAまたはテンプレートBの中の1つを、レンダリングします。フロールータでのサブスクリプションに待機
は具体的には、私は、管理者またはユーザー文書のisAdminフィールドに基づいて、学生のテンプレートのいずれかをレンダリングしたい、完了呼を購読後を取得しました。 ルータの機能は次のとおりです。
FlowRouter.route('/songs/list', {
name: 'Songs.list',
subscriptions: function(params, queryParams) {
this.register('getUser', Meteor.subscribe('allUsers', Meteor.userId()));
}
action(params, queryParams) {
\t if(Meteor.user().isAdmin){
\t \t BlazeLayout.render("admin_home");
\t }
\t else{
\t \t BlazeLayout.render("student_home");
\t }
}
});
フロールータのマニュアルには
FlowRouterのみサブスクリプションの登録を扱っていることを、具体的に言及しています。サブスクリプションが準備完了するまで待つことはありません。
だから、「条件場合は、」サブスクリプションは、ローカルキャッシュを更新した前に評価される場合があるかもしれません。
iron-routerを使用すると、waitOnを使用して簡単に処理できます。しかし、フロールーターでは、2つの別々の機能が必要になります。これは、管理用テンプレートと学生用テンプレートをレンダリングするために2つの別個のURLをさらに強制します。
これはフロールータの開発者が設計したものですか?
を(https://www.okgrow.com/posts/flow -router-migration-guide) –