Vueルーターがクエリパラメータを削除する
P粉947296325
2023-09-02 17:34:15
<p>Nuxt2/Vue2 を使用していますが、Web サイトを生成するときにクエリ パラメーターを取得できません。 </p>
<p>次のような Contentful のエントリを使用して、nuxt 構成で URL を作成しました。
<pre class="brush:php;toolbar:false;">生成: {
クローラー: false、
非同期ルート() {
定数項目 = (
await fetchEntriesByContentType({ contentType: "items" })
).map(entry => {
const ルート = {
ルート: `/items/item/${entry.fields.slug}`、
ペイロード: エントリ、
}
帰りのルート。
});
返却商品;
}
}</pre>
<p>コンソールログを取得し、Nuxt 設定ファイルでデバッグしようとすると、/items/item/101?type=book</p> など、期待どおりのパラメータを含む URL が返されます。
<p>しかし、this.$route.path、this.$route.fullPath、this.$route.query などを使用して Vue コンポーネントでアクセスしようとすると、「?」の後には返されません。 。例えば。上の例では、常に /items/item/101</p> になります。
<p>クエリパラメータを含めるためにnuxt設定に何かを追加する必要がありますか?
this.$route をクリックして定義に移動すると、vue-router がインストールされていない場合でも、node_modules 内の vue-router ファイルに移動することに気付きました。これが問題の原因でしょうか? </p>
map
コールバックでは何も返しません。routes
が返される必要があると仮定すると、次のようになります。