Der Vue-Router löscht Abfrageparameter
P粉947296325
P粉947296325 2023-09-02 17:34:15
0
1
709
<p>Ich verwende Nuxt2/Vue2 und habe Probleme beim Abrufen der Abfrageparameter beim Generieren der Website. </p> <p>Ich habe meine URL in der Nuxt-Konfiguration erstellt, indem ich einen Eintrag in Contentful wie diesen verwendet habe: </p> <pre class="brush:php;toolbar:false;">generate: { Crawler: falsch, asynchrone Routen() { const items = ( Warten auf fetchEntriesByContentType({ contentType: "items" }) ).map(entry => { const Routen = { Route: `/items/item/${entry.fields.slug}`, Nutzlast: Eintrag, } Rückwege; }); Artikel zurücksenden; } }</pre> <p>Wenn ich mich auf der Konsole anmelde und versuche, in einer Nuxt-Konfigurationsdatei zu debuggen, wird wie erwartet eine URL mit Parametern zurückgegeben, z. B. /items/item/101?type=book</p> <p>Wenn ich jedoch versuche, in meiner Vue-Komponente mit this.$route.path, this.$route.fullPath oder this.$route.query usw. darauf zuzugreifen, wird nach dem „?“ kein Inhalt zurückgegeben . Zum Beispiel. Für das obige Beispiel wäre es immer /items/item/101</p> <p>Muss ich der Nuxt-Konfiguration etwas hinzufügen, um Abfrageparameter einzuschließen? Mir ist aufgefallen, dass, wenn ich auf this.$route klicke, um zur Definition zu gelangen, zur Vue-Router-Datei in meinen Knotenmodulen gewechselt wird, obwohl ich Vue-Router nicht installiert habe. Verursacht dies das Problem? </p>
P粉947296325
P粉947296325

Antworte allen(1)
P粉978551081

您不会在 map 回调中返回任何内容,假设必须返回routes,它应该是这样的:

const items = (
    await fetchEntriesByContentType({ contentType: "items" })
).map(entry => {
    const routes = {
        route: `/items/item/${entry.fields.slug}`,
        payload: entry,
    }
    return routes;
});
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage