Heim  >  Fragen und Antworten  >  Hauptteil

Der Vue-Router löscht Abfrageparameter

<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粉947296325P粉947296325436 Tage vor680

Antworte allen(1)Ich werde antworten

  • P粉978551081

    P粉9785510812023-09-03 13:18:42

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

    const items = (
        await fetchEntriesByContentType({ contentType: "items" })
    ).map(entry => {
        const routes = {
            route: `/items/item/${entry.fields.slug}`,
            payload: entry,
        }
        return routes;
    });

    Antwort
    0
  • StornierenAntwort