版本 3 中的 Svelte 组件异步加载

Svelte component async loading in version 3

我想问你一个关于将一个简单示例从版本 2 更新到版本 3 的问题。

这个 svelte v2 异步组件加载示例有效 (https://codesandbox.io/s/0ooo3z8nqp), but this one written for v3 doesn't (https://codesandbox.io/s/615zv3xp33)。

有线索吗? 谢谢!

更新: 我的问题是关于将以下代码从 Svelte V2 转换为 V3。

<script>
    export default {
      components: {},
      data() {
        return {
          ChatBox: null
        };
      },
      methods: {
        async loadChatbox() {
          const { default: ChatBox } = await import("./Chatbox.html");
          this.set({ ChatBox });
        }
      }
    };
</script>

在 Svelte 的第 3 版中,您可以直接为变量分配一个新值,而无需使用 set.

您可以将 default 命名为 ChatBox 以外的名称,这样外部变量就不会被隐藏,然后直接赋值给它。

let ChatBox;

async function loadChatBox() {
  const { default: Component } = await import("./ChatBox.svelte");
  ChatBox = Component;
}