問題タブ [flow-router]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - flow-router を使用した meteor: flow-router トリガー内から Meteor.User にアクセスできますか?
セキュリティの観点から、制限された URL へのアクセスは次の 2 か所で処理するのが最善である と考えています。
- ルーティング レベル: 許可されていないルートに誰も到達できないことを確認します。
- テンプレート レベル: 権限を確認する前に、制限されたデータは表示されません。
Iron-Router
最初の方法をサポートしていますが、使用したいですFlow-Router
。
Meteor の記事を見つけました: 認証とアクセス許可にフロー ルーターを使用するSatya van He-men
この記事
で、彼はルーティング グループとトリガーを使用して、アクセス許可によってルートを "フィルター処理" しています。
しかし、この記事では
、オブジェクトの関数内で 、、およびを使用しています。Meteor.loggingIn()
Meteor.userId()
Meteor.user()
Roles.userIsInRole()
triggersEnter:
FlowRouter
実行中にこれらの関数のいずれかが未定義になる可能性はありtriggersEnter
ますか?
それらを使用しても安全ですか?
記事のパターンは気に入っているが、安全に使用できることを確認したい (または、少し変更するだけで安全になる可能性がある)
meteor - ルートを切り替えるときのMeteorの永続的なチェックボックスの状態
質問: シングル ページ アプリで、Meteor はユーザーがあるページから別のページに移動したときにチェックボックスの状態を維持しますか?
Meteor で「読む本を選択」アプリを開発しようとしています。ホームページで、ユーザーは複数の本から選択して読書リストに追加できます。選択した本は、[私の読書リスト] ページに表示されます。Flow Router でルーティング システムをセットアップしました。
問題: すべてが期待どおりに機能します。最初のページで本を選ぶことができます。そして、選択した本が 2 ページ目に表示されます。しかし、最初のページに戻って本を追加したり、選択した本をレビューしたりすると、すべてのチェックボックスが新しくなりました。
- これはMeteorでは正常ですか、それとも何か不足していますか?
- これが正常な場合、ページ 1 とページ 2 を切り替えたときにチェックボックスの状態を維持するにはどうすればよいですか?
node.js - metor.js アプリで react を使用しているときに、個別の .jsx ファイルが含まれないのはなぜですか
私は meteor-react と flow-router を使用して meteor.js と react.js アプリに取り組んできました。
私はこのような構造から始めました:
- クライアント
- コンポーネント
- register.jsx
- レイアウト
- header.jsx
- footer.jsx
- ライブラリ
- router.jsx main.html main.jsx
- コンポーネント
私の router.jsx ファイルでは、 register.jsx ファイルから RegisterForm クラスを呼び出します
});
これは、すべてのコンポーネント クラスが register.jsx ファイルにある限りうまく機能しますが、プロジェクトが大きくなるにつれて、すべてのクラスを 1 つのファイルに入れるのではなく、register.jsx を個別の .jsx ファイルに分割したいと考えています。
たとえば、入力フィールドのカスタム検証のための追加機能を含む VerifiedInput というクラスがあります。このクラスを同じ register.jsx に含めると、RegisterForm クラスの render 関数で呼び出すことができます。
しかし、VerifiedInput クラスを別のファイルに移動すると、コンポーネントのフォルダー構造が次のように変わります。
その後、エラーが発生します: ReferenceError: VerifiedInput is not defined
.jsx ファイルが含まれていないことを示唆しているようです。
私が理解しているように、流星はクライアントフォルダーにファイルを自動的に含める必要があり、require() Meteor.jsを使用することはできません
別のファイルの反応クラスが含まれていることを確認するにはどうすればよいですか?
javascript - Flow Router を使用してすべてのルートにユーザーが存在するかどうかを確認します
Meteor にユーザー プロファイルがあります。
フロールーターを使用しています。
ユーザーがすべてのルートに存在するかどうかを確認したい。
私が試してみました
しかし、うまくいきません。
ユーザーコレクションを購読していないためだと思います。
ルートでこれを行うにはどうすればよいですか?使うべきか
編集
代わりにテンプレートをチェックインしようとしました
user
ただし、ユーザー オブジェクトまたは null のいずれかである変数をテンプレートに入力するだけです。
存在しないルートに対して Flow Router が提供する notFound 構成を使用したいと考えています。これは「存在しないデータ」にも適用できると思います。
そのため、ルート パスが/users/:userId
存在し、特定の userId を持つユーザーが存在しない場合、ルーターはルートを無効なパスとして解釈する必要があります。
meteor - Meteor で、ログインしているユーザーだけにファイルをロードする方法は?
Meteor を使用して管理パネルを作成しようとしています。管理パネルに関連するjsおよびhtmlファイルを通常のユーザーにロードしたくありません。ユーザーがログインしているときにのみロードする必要があります。どうすればこれを達成できますか? (FlowRouterを使用してルートを管理しています)
javascript - Flow Router パラメータがフックとサブスクリプション内で変更されない
私は使っている
projectId
作成されたすべてのタスクに追加し、指定されprojectId
た .
ただし、 with を変更するprojectId
と、フックとサブスクリプションが変更されていないFlowRouter.setParam( 'projectId' ... )
ようです。projectId
私は何を間違っていますか?中に入れないといけないのTracker.autorun()
ですか?onCreated
の代わりに使っているからonRendered
ですか?
javascript - Meteor で Flow Router を使用してルートをグループ化する
Flow Router にはいくつかのルートがあります
- /projects/プロジェクト名
- /projects/プロジェクト名/タスク
- /projects/プロジェクト名/tasks/deleted-tasks
- /projects/プロジェクト名/タスク/完了したタスク
- /projects/プロジェクト名/タスク/ラベル/学校
- /projects/プロジェクト名/タスク/ラベル/フットボール
- /projects/プロジェクト名/タスク/ラベル/トレーニング
- /projects/プロジェクト名/タスク/ラベル/個人
- [...]
したがって、ほとんどすべてのルートが同じ特性のほとんどを共有するはずです。
ルートをグループ化するためのトリックはありますか?プロジェクトがすべてのルートに存在するかどうか、または一部のルートが他のルート上に構築されていると言えるかどうかを確認する必要があるため、すべてのルートの長いパスを記述する必要はありません。ルート?
Flow Router を見つけましたが、必要なことを達成するための適切なツールではないようです。
javascript - オブジェクトが存在しない場合、Meteor の別のルートにリダイレクトします
Flow Router を使用postDetail
したパスを持つルートがあります。/posts/:postId
投稿が実際に存在するかどうかを確認したい。投稿が存在しない場合は、postList
代わりにルートを表示したいと思います。
これどうやってするの?私は使用できると思いますtriggersEnter
; ただし、データはテンプレートにサブスクライブされているためtriggersEnter
、ルーターでは使用できない可能性があります。
doesExists
簡単な方法は、テンプレート ヘルパーからの変数をテンプレートに入力し、単に使用することです。
しかし、多くの異なるテンプレートでこれを行う必要があり、このアプローチではユーザーを postList ルートにリダイレクトできないため、これは非常にスマートな方法だとは思いません。
meteor - meteor では、サブスクリプションを待ち、テンプレートの `rendered` 関数でそれらにアクセスする方法は?
アプリでを使用していますFlowRouter
が、Meteor は初めてです。私はこのように自分のコレクションを購読しています:
関数でサブスクリプションを使用しようとしていますが、rendered
機能していません:
正しければ、サブスクリプションが利用可能になるまで待つ必要があります。これどうやってするの?また、準備中に読み込みメッセージ (またはスピナー) を追加する必要があります。IronRouter でこれを行う方法は知っていますが、FlowRouter では知りません。