繁体   English   中英

Svelte - 组件一如何使用组件二的功能?

[英]Svelte - How Component one can use functions from Component two?

CompOne 如何在 CompTwo 中运行 function “测试”?

CompOne.svelte

<script>
   import {test} from './CompTwo.svelte'
</script>
<!-- Some style and HTML tags for this component -->

CompTwo.svelte

<script>
   export const test = () => { console.log('testing function') }
</script>
<!-- Some style and HTML tags for this component -->

如果您有此组件的实例并绑定到它,您可以运行子函数。

App.svelte

<script>
  import Component from './Component.svelte';   
  let comp;
</script>

<Component bind:this={comp} />
<button on:click={() => comp.test()}>Do Stuff</button>

组件.svelte

<script>
    export const test = () => console.log('testing');
</script>

工作示例

我遇到了同样的问题,但我可能会找到解决方法。

在子组件中,您可以声明

<ChildComponent>
  <script>
    export const myFunc = () => alert('alarm... alarm..');
  </script>
</ChildComponent>

<RootComponent>
  <script>
    import ChildComponent from './ChildComponent.svelte';
    let myFunc;
  </script>

  <ChildComponent bind:myFunc={myFunc} />
  <button on:click={myFunc} >Testing Alarm</button>
</RootComponent>

请参阅此处的工作示例: Example Svelte - Executing function on child component workaround

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM