[解決済み] vuejs ルータのオプションのパラメータ
2022-04-23 17:03:23
質問
あるコンポーネントに2つの方法でルーティングする必要があります。1つはパラメータ付き、もう1つはパラメータなしです。オプションのパラメータについて検索してみましたが、あまり情報が見つかりません。
だから私のルートは
{
path: '/offers/:member',
component: Offers,
name: 'offers',
props: true,
meta: {
guest: false,
needsAuth: true
}
},
プログラム上でパラメータを指定して呼び出すと、すべてうまくいきます。
this.$router.push({ path: /offers/1234 });
しかし、私はこのようにナビゲーションを介して呼び出す必要があります。
<router-link to="/offers">Offers</router-link>
は
offers
コンポーネントはプロップを受け取ります。
props: ['member'],
そして、このように使用されるコンポーネント
<Offers :offers="data" :member="member"></Offers>
このように、ルートを複製して、そのうちの1つをプロップスを取らないようにすることで、なんとか動作するようになった醜い方法です。
{
path: '/offers',
component: Offers,
name: 'offers',
props: false,
meta: {
guest: false,
needsAuth: true
}
},
実際に動作していますが、満足はしていません - また、開発モードではvuejsが警告します。
[vue-router] Duplicate named routes definition: { name: "offers", path: "/offers" }
確かに、コンポーネントの呼び出しでオプションのパラメータを指定する方法はありますね。
:member="member"
?
解決方法は?
クエスチョンマークを追加するだけ
?
を選択すると、オプションになります。
{
path: '/offers/:member?',
...
},
Vue Router 2.0 以降で動作します。
出典 https://github.com/vuejs/vue-router/issues/235#issuecomment-245447122
関連
-
[解決済み] Vue.jsで12件中1~3件を表示させるには?
-
[解決済み] npm run dev」「npm run watch」はどのようなスクリプトですか?
-
[解決済み] Laravel Spark v4.0.9で「Vue packages version mismatch」エラーを修正するにはどうすればいいですか?
-
未定義のプロパティ '0' を読み取ることができません。
-
vue3 が axios エラーを導入する 未定義または null をオブジェクトに変換できない
-
[解決済み] Vue.jsでグローバルフィルタを大量に追加する方法は?
-
[解決済み】他のアクションの中からアクションを呼び出す
-
[解決済み】Vuejs:ルート変更時のイベント
-
[解決済み] vuejs ルータのオプションのパラメータ
-
[解決済み] Vueアプリのビルドを生成するには、どのコマンドを使用すればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
vue リクエストエラー Uncaught (プロミス内)
-
[解決済み] Vuetify グリッドレイアウト v-layout v-flex
-
vue springboot reports error DOMException: XMLHttpRequest'の'send'の実行に失敗しました。ロードに失敗しました
-
[解決済み】名前空間が設定された2つのVuexモジュール間でアクションをディスパッチする方法はありますか?
-
[解決済み】Vueのデータからhrefに値を渡すには?
-
[解決済み】他のアクションの中からアクションを呼び出す
-
[解決済み】Vuex - ミューテーションに複数のパラメータを渡す
-
[解決済み] Vue CLI CSSプリプロセッサーオプション:dart-sass VS node-sass?
-
[解決済み] vuejs ルータのオプションのパラメータ
-
[解決済み] Vueアプリのビルドを生成するには、どのコマンドを使用すればよいですか?