如何在svelte中公开可以接受参数渲染的函数?

时间:2019-12-07 18:08:57

标签: ecmascript-6 svelte svelte-3

我是svelte的新手,对于我的用例,我想将svelte应用程序导出为bundle.js,它公开了一个可以接受2个参数的函数startApp(positionInject, appConfiguration)({{ 1}}是应用程序注入位置,例如:.app,positionInject是要启动的应用程序的初始配置),基于那些参数,以简化应用程序启动渲染。

我想知道,这真的可能吗?

感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

每个Svelte组件都使用一个target元素和一个props作为构造函数参数。您可以将构造包装成一个函数:

import App from './App.svelte';

export function startApp(selector, props) {
  const target = document.querySelector(selector)

  return new App({
    target,
    props
  })
}

您可以这样称呼它:

import {startApp} from "./bundle.js"

startApp(".my-app", {config: ...})