У меня есть 3 стройных компонента. Комп приложение, которое импортирует Comp One и Comp Two. Как Два могут вызвать функцию в Один? - PullRequest
1 голос
/ 26 октября 2019

У меня есть 3 стройных компонента. Комп приложение, которое импортирует Comp One и Comp Two. Как Два могут вызвать функцию в Один?

1 Ответ

1 голос
/ 28 октября 2019

Вы можете экспортировать функцию из 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()}" />
...