2.6.10
https://github.com/tbutcaru/v-issue-multiple-dynamic-slot-names
npm install
npm run serve
Vários nomes de slots dinâmicos devem funcionar conforme o esperado.
O seguinte erro é gerado:
Invalid dynamic argument expression: attribute names cannot contain spaces, quotes, <, >, / or =.#[headerslot]>Header slot</template>
Default slot
<template #[footerslot]
Se um dos nomes de slot dinâmico se tornar estático (não importa qual), o aplicativo está funcionando.
node_modules/vue-template-compiler/build.js
attrs.forEach(function (attr) {
) adicionado o seguinte aviso:warn$1('--------------->> ' + attr.name);
#[headerslot]
#[headerslot]>Header slot</template>
Default slot
<template #[footerslot]
Portanto, parece que o compilador não sabe como extrair apenas o atributo quando há vários nomes de slots dinâmicos.
A abreviação está disponível apenas quando um argumento é fornecido. Tente usar:
<template v-slot:[dynamicSlotName]>
...
</template>
A abreviação está disponível apenas quando um argumento é fornecido. Tente usar:
<template v-slot:[dynamicSlotName]> ... </template>
Eu tentei isso antes de criar o problema e o resultado é o mesmo 😞
Olá a todos!
O que há de novo nisso? Eu ainda tenho o problema em 2.6.11 reproduzir aqui
Depois de muitas tentativas, descobri uma maneira de fazer os slots multi-dinâmicos funcionarem. Quando adiciono chaves ao elemento raiz dos modelos de slot de dinâmica, isso funciona:
isso não funciona: reproduza aqui
<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 ="
este trabalho: reproduza aqui
<template #[slot1]>
<p key="1">slot test</p>
</template>
<template #[slot2]>
<p key="2">slot test2</p>
</template>
// work fine
Por que preciso adicionar chaves para fazer funcionar? Eu perdi algo.
A solução de @davis90 funcionou para mim. Eu não entendo por que isso funciona também.
Por que os erros são tão enganosos? Obrigado, embora sua solução funcione
Comentários muito úteis
Depois de muitas tentativas, descobri uma maneira de fazer os slots multi-dinâmicos funcionarem. Quando adiciono chaves ao elemento raiz dos modelos de slot de dinâmica, isso funciona:
isso não funciona: reproduza aqui
este trabalho: reproduza aqui
Por que preciso adicionar chaves para fazer funcionar? Eu perdi algo.