2.6.10
https://github.com/tbutcaru/v-issue-multiple-dynamic-slot-names
npm install
npm run serve
Mehrere dynamische Steckplatznamen sollten wie erwartet funktionieren.
Der folgende Fehler wird ausgelöst:
Invalid dynamic argument expression: attribute names cannot contain spaces, quotes, <, >, / or =.#[headerslot]>Header slot</template>
Default slot
<template #[footerslot]
Wenn einer der dynamischen Steckplatznamen statisch ist (egal welcher), funktioniert die Anwendung.
node_modules/vue-template-compiler/build.js
attrs.forEach(function (attr) {
) hat die folgende Warnung hinzugefügt:warn$1('--------------->> ' + attr.name);
#[headerslot]
#[headerslot]>Header slot</template>
Default slot
<template #[footerslot]
Es sieht also so aus, als ob der Compiler nicht weiß, wie er nur das Attribut extrahieren kann, wenn mehrere dynamische Slotnamen vorhanden sind.
Die Kurzschrift ist nur verfügbar, wenn ein Argument angegeben wird. Versuchen zu benutzen:
<template v-slot:[dynamicSlotName]>
...
</template>
Die Kurzschrift ist nur verfügbar, wenn ein Argument angegeben wird. Versuchen zu benutzen:
<template v-slot:[dynamicSlotName]> ... </template>
Ich habe das versucht, bevor ich das Problem erstellt habe, und das Ergebnis ist das gleiche 😞
Hallo allerseits!
Was ist neu daran? Ich habe immer noch das Problem in 2.6.11 hier zu reproduzieren
Nach vielen Versuchen habe ich einen Weg gefunden, multidynamische Slots zum Laufen zu bringen. Wenn ich dem Stammelement der Dynamics Slot-Vorlagen Schlüssel hinzufüge, fällt dies in die Arbeit:
das funktioniert nicht: hier reproduzieren
<template #[slot1]>
<p>slot test</p>
</template>
<template #[slot2]>
<p>slot test2</p>
</template>
// got "Invalid dynamic argument expression: attribute names cannot contain spaces, quotes, <, >, / or ="
diese Arbeit: hier reproduzieren
<template #[slot1]>
<p key="1">slot test</p>
</template>
<template #[slot2]>
<p key="2">slot test2</p>
</template>
// work fine
Warum muss ich Schlüssel hinzufügen, damit es funktioniert? Ich habe etwas verpasst.
Die Lösung von @ davis90 hat bei mir funktioniert. Ich verstehe nicht, warum es auch funktioniert.
Warum sind die Fehler so irreführend? Vielen Dank, obwohl Ihre Lösung funktioniert hat
Hilfreichster Kommentar
Nach vielen Versuchen habe ich einen Weg gefunden, multidynamische Slots zum Laufen zu bringen. Wenn ich dem Stammelement der Dynamics Slot-Vorlagen Schlüssel hinzufüge, fällt dies in die Arbeit:
das funktioniert nicht: hier reproduzieren
diese Arbeit: hier reproduzieren
Warum muss ich Schlüssel hinzufügen, damit es funktioniert? Ich habe etwas verpasst.