我正在使用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>'/>
但我在使用它时遇到了一些错误(不一致的问题)。