我有 3 个苗条的组件。 Comp App 导入 Comp One 和 Comp Two。二如何在一中调用一个函数?

I have 3 svelte components. Comp App which imports Comp One and Comp Two. How can Two call a function in One?

我有 3 个苗条的组件。 Comp App 导入 Comp One 和 Comp Two。二人如何在一人中调用一个函数?

您可以从 Comp1 中导出您在 App 中引用的函数,并作为道具传递给 Comp2

示例 (REPL)

<!-- Comp1.svelte -->
<script>
  export function foo() {
    alert('function in Comp1');
  }
</script>

<!-- Comp2.svelte -->
<script>
  export let onClick;
</script>

<button on:click="{onClick}">
  Click me
</button>

<!-- App.svelte -->
<script>
  import Comp1 from './Comp1.svelte';
  import Comp2 from './Comp2.svelte';

  let comp1;
</script>

<Comp1 bind:this="{comp1}" />
<Comp2 onClick="{() => comp1.foo()}" />