Я использую Svelte и хочу создать компонент, который позволит мне делать что-то вроде этого:
<CodeDisplay>
<button class="btn">Button</button>
</CodeDisplay>
CodeDisplay.html должен выглядеть примерно так:
<slot></slot>
<code><slot></slot></code>
По сути, мне нужен компонент, который сначала будет отображать HTML-код, который я помещаю в компонент, а затем я хочу отобразить сам код. (Я создаю систему документации.)
Похоже, вы не можете использовать <slot></slot>
больше одного раза, что имеет смысл.
Как бы я добился того, что пытаюсь здесь. Я действительно хочу избежать двойного дублирования HTML-кода в моем коде для каждого примера в документации. Я просто подумал, что было бы неплохо иметь компонент, который, как правило, я могу передать некоторый HTML, а затем компонент будет отображать HTML и показывать код.
РЕДАКТИРОВАТЬ: Я только что понял, что могу сделать что-то вроде этого:
{{{html}}}
<pre><code>{{html}}</code></pre>
<script>
export default {
data() {
return {
html: '',
}
}
};
</script>
И отобразите это так:
<CodeDisplay html='<button class="btn">Button</button>'/>
Но я получаю некоторые ошибки с этим (которые происходят непоследовательно).