【发布时间】:2018-03-24 04:45:32
【问题描述】:
我正在使用 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>'/>
但是我遇到了一些错误(发生不一致)。
【问题讨论】:
标签: javascript slot svelte