javascript - 如何访问 svelte 组件内的命名插槽?

标签 javascript slots svelte

我正在试用 Svelte(太棒了!),但我遇到了一个我不知道如何解决的问题。我有一个带有几个命名插槽的组件。根据这些插槽是否已填充,我需要渲染一些额外的 HTML。所以我的想法是将这些 block 放在 {{#if slots}} block 中,但我不知道如何引用命名的插槽。在 oncreate 中尝试 this.options.slots,我可以看到槽的集合,但我不知道如何在组件的 HTML 部分找到它们。任何人都可以帮助我吗? See this REPL

最佳答案

Elco 已经找到了答案并在评论中提到了它,但对于遇到此问题的任何其他人来说 — 这有点老套,但您可以在 this.set(...) 中执行oncreate 钩子(Hook):

oncreate () {
  this.set({
    hasEmail: !!this.options.slots.email
  });
}

Demo here .

关于javascript - 如何访问 svelte 组件内的命名插槽?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47881874/

相关文章:

javascript - 向下滚动时淡入淡出元素

javascript - 如何在 Windows 上使用永久模块停止 Node.js 应用程序?

c++ - Qt 更改来自另一个类的标签文本

node.js - sveltekit 中未定义 process.env 环境变量

javascript - 在 Sapper 应用程序中存储用户 session 的位置

javascript - 如何获取包含零或负宽度字符(如\u0007 或\b)的输出字符串的长度

javascript - 使用 Javascript 更改 SVG 的颜色

javascript - 是否可以在 Lambda ASK 代码中向自定义槽类型添加值?

vue.js - 如何在 vue 3 的插槽上使用 v-model?

electron - 尝试让nedb导入Svelte组件