問題タブ [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.
meteor - 更新/リダイレクトせずに Flow Router で URL を更新する方法はありますか?
FlowRouter.go()
React と を使用しているときに、使用せずに URL の一部をリアクティブに更新する方法はありますreact-layout
か?
DB からドキュメントを取得するために使用されるドキュメントの値を変更したいと考えています。たとえば、次のようなルートがあり、ドキュメント内のフィールド~/users/:username
を更新する場合、ユーザーをその新しい URL に誘導する必要があります。「古い」ルートはなくなりました。username
FlowRouter.go('profile', {data})
以下は私が持っている動作中のバージョンですが、2 つの問題があります。
- を使用する必要があります
FlowRouter.go()
が、これは実際にはページ全体の更新です (戻ると 404 になります)。 - しばらくの間、コンポーネントのリアクティブ データが実際には間違っているため、コンソールにまだエラーが表示されます。
コンポーネントの関連部分は次のようになります。
ルートは次のようになります。
コンソールに表示されるエラーは次のとおりです。
と
node.js - FlowRouter への移行には、テンプレート データ コンテキストに似たものが必要です
そのため、Iron Router と FlowRouter の議論についてはたくさん読みました。
Iron Router を使用してプロジェクトを開始しましたが、考えが変わり、現在 FlowRouter に移行しています。
アプリのコメント セクションの移行を開始するまで、すべてが順調に進んでいました。ご覧のとおり、このセクションはアプリで数回再利用され、ニュース、投稿、写真、ビデオなどのコメント セクションとして機能します。
IR のデータ コンテキストを使用した例:
コメント コレクション スキーマには「タイプ」があります (このコメントが属する「もの」、ニュース、写真などのタイプを知るため)。そのタイプは、commentSection テンプレートの「form .submit」イベントで設定されました。例:
これは、テンプレート データ コンテキストにニュース アイテムが含まれていたため、タイプ プロパティも同様に機能したためです。
公式ガイドで推奨されているように、テンプレートにデータを設定せずにFlow Routerのみを使用して、これと同様のことをどのように達成できますか?
meteor - Template.onDestroyed でのウィンドウ イベント リスナーの削除
それぞれ Vimeoiframe
プレーヤーを含む 2 つのテンプレートがあります。FlowRouter を使用し{{> Template.dynamic template=main}}
て、メイン レイアウトでテンプレートをレンダリングしています。
両方のテンプレートで、ビデオ イベントのリスナーを追加します。onCreated
そしてそれらを破壊するonDestroyed
そして、匿名イベント ハンドラーによって呼び出される関数を次に示します。
別のテンプレートに切り替えると、期待どおりにonDestroyed
実行され、console.log('view remove')
発火します。
しかし、ビデオ プレーヤーで他のテンプレートをロードするページに移動すると、Vimeo の「playProgress」が到着し、以前message
のビデオ テンプレートのイベント ハンドラーによって受信されます。これは、少し前に削除されたはずです。以前のテンプレートが破棄されているため、これはエラーをスローします。
これは、この関数の最後の行から来ています:
ビデオを含むテンプレートにはそれぞれ独自の .js ファイルがあるため、それぞれに独自のpost
関数宣言があります。私の理解では、関数を定義すると、関数の範囲がページだけに限定されるということです。
間違ったプレイヤーに届くメッセージは 1 つだけです。その後、現在ロードされているプレーヤーに到着します。
テンプレートを破棄した後、別のプレーヤーに移動したときに、Vimeo メッセージ イベントが到着または処理されるのはなぜですか?
meteor - ルーティングを使用して特定の div に React コンポーネントをレンダリングする
作成しようとしている Meteor/React アプリケーションのルーターとして FlowRouter を使用しています。反応コンポーネントを特定の場所にレンダリングするのに非常に苦労しています。誰もこれを行う方法を知っていますか?
そのため、ランディング ページでボタンをクリックすると、セカンダリ ページにルーティングしたいと考えています。ページの特定の部分にレンダリングしたい 3 つの異なるコンポーネントがあります。を使用してきましたがReactLayout.render()
、コンポーネントが特定の領域でレンダリングされることを確認できないようです。document.getElementById
うまくいくと思った
しかし、そうではありません。
javascript - ヘルパーまたはイベントでオブジェクトの内部 _id を取得する方法は?
コメントを追加しようとしていますが、{postId} フィールドがあります。現在、私は投稿 ID を返してコメント コレクションに追加していvar id = FlowRouter.getParam('id');
ます。ルートには、コメントを残す特定の投稿の ID がパラメーターに含まれているためです。myapp.com/posts/:id の代わりにルートを myapp.com/post/:title に変更したいので、もうパラメータからIDを取得できません....どうすればIDを取得できますかルーターパラメーターで使用できなくなったときの投稿?
だから今、私のイベントコードは次のとおりです。
私は何かを使用した他のアプリを覚えていますが、それを機能さtemplate.data._id
せることはできません
この質問は私のヘルパーとサブスクリプションにも当てはまります。テンプレートの特定の投稿、コメント、ビデオ ID を常に取得する必要がありますが、すべてのルートに ID を含めたくないため、方法を見つける必要があります。彼ら。ありがとう
meteor - Meteor / React / Flow Router / JSX にパラメーターを渡す
ここでの簡単な質問: React を使用した Meteor では、パラメーターを .jsx に渡すにはどうすればよいですか。フォーム送信後に使用できるように、:token パラメータを jsx に送信したいと考えています。
私はkadiraのflow-routerとreact-layoutパッケージを使用しています
ルート
リセット.jsx