A sintaxe correta para a dinâmica Svelte componente e Pug pré-processador

0

Pergunta

Abaixo componente

<template lang="pug">

  svelte:component.OverflowSafeSingleLineLabel(this="{rootElementTag}")
    span.OverflowSafeSingleLineLabel-TextWithIncreasedLineHeight
      slot

</template>


<script lang="ts" context="module">

  const rootElementTag: string = "div";

</script>

causas

Uncaught TypeError: switch_value is not a constructor

se tentar usar é como componente de criança.

Se alterar o elemento raiz apenas para

.OverflowSafeSingleLineLabel

o erro desaparecerá. Mas como fazer OverflowSafeSingleLineLabeldinâmica? Espero que seja apenas o meu, o noviço (para 2021) em Esbelta, engano.

pug svelte
2021-11-23 04:27:53
1

Melhor resposta

1

Eu não sei muito de pug sintaxe. Mas se o que this relaciona-se com svelte:component: Você não pode usar svelte:component para criar dinamicamente elementos DOM, você só pode usá-lo para criar Svelte componentes. Para conseguir o que você quer, você vai precisar de svelte:element, uma funcionalidade que ainda não está implementado (como de 23.11.2021).

2021-11-23 09:35:16

Obrigado fro a resposta! Eu entendi correto, que atualmente sem essa funcionalidade, que permite alcançar o efeito desejado e só resta a fazer é switch/case?
Takeshi Tokugawa YD

Sim. O problema que acompanha esse é github.com/sveltejs/svelte/issues/2324
dummdidumm

Tenho! Aceito && votos positivos sua grande resposta.
Takeshi Tokugawa YD

Em outros idiomas

Esta página está em outros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................