Vue Router versucht, Routen mithilfe von Parametern als Namen abzugleichen.
<p>Ich versuche, Parameter in meinen Routen zu verwenden und habe die folgende Route erstellt. </p>
<pre class="brush:php;toolbar:false;">export const ConsumerRoutes = [
{
Pfad: '/' + import.meta.env.VITE_MODULE_ADMIN_NAME + '/consumers',
Meta: {
erfordertAuth: wahr,
adminLayout: wahr,
Modul: 'admin',
Symbol: UserCircleIcon,
nav: 'Verbraucher'
},
Kinder: [
{
Weg: '',
Name: „Verbraucher“,
Komponente: () => import('../../views/admin/Consumer.vue'),
},
{
Pfad: ':id',
Name: „Verbraucherdetails“,
Komponente: () => import('../../views/admin/ConsumerDetails.vue'),
}
],
},
// {
// Pfad: '/' + import.meta.env.VITE_MODULE_ADMIN_NAME + '/consumers/:id',
// Meta: {
// erfordertAuth: true,
// adminLayout: true,
// Modul: 'admin',
//excludeFromNav: true
// },
// Kinder: [
// {
// Weg: '',
// Name: 'Verbraucherdetails',
// Komponente: () => import('../../views/admin/ConsumerDetails.vue'),
// }
// ]
// }
];</pre>
<p>Wenn ich versuche, /1 in die URL einzugeben, kann ich zu Verbrauchern navigieren, erhalte jedoch die folgende Fehlermeldung. </p>
<pre class="brush:php;toolbar:false;">vue-router.mjs:810 Nicht abgefangen (in Versprechen) Fehler: Keine Übereinstimmung für
{"name": "1", "params":{}}</pre>
<p>Wenn ich jedoch console.log in der Funktion afterEach verwende, um meine Zielroute zu drucken, erhalte ich das folgende Routenobjekt. </p><p>Es weiß also, zu welcher Route ich gehe, aber aus irgendeinem Grund verwendet es „1“ und versucht, eine Route mit dem Namen „1“ zu finden. Wenn ich meinen Routennamen in 1 ändere, wird es einwandfrei geladen. </p><p>Ich habe versucht, meine Routen von untergeordneten Routen in unabhängige Routen aufzuteilen, aber das hat nichts geändert. </p><p><br /></p>
<hr />
<p>Das Problem wurde gelöst und hat nichts mit den von mir definierten Routen zu tun. </p>