在 Svelte 之后调用 javascript 函数的任何方法 #await :then



有没有办法在Svelte#await :then之后调用javascript函数?我想在下面的代码中做的是,一旦我创建了带有一些id的空数据表,然后在javascript中只是在Datable中添加数据,就可以调用javascript表。所以,基本上我想在javascript函数和DataTable或dataTable元素本身的id中传递data1。有什么办法可以做到这一点吗?

<div>
<h1> Title</h1>
{#await promise}
loading...
{:then data}
{#each data as data1, i}
<DataTable id={data1.title}/>
<br />
---> I want to call javascript function here which would add data in the given data table. How can I do that?
{/each}
{:catch error}
<kat-alert header="Error" description={error.message} variant="warning" />
{/await}
</div>

我不完全确定您要做什么,但是如果您正在创建的DataTable应该接收数据,为什么不简单地将其传递给它呢?

{#each data as data1, i}
<DataTable id={data1.title} data={data1.actualdata}/>
{/each}

或者,您可以将事件添加到组件本身。

{#each data as data1, i}
<DataTable id={data1.title} use:fillTable{data1, data1.title}></DataTable>
{/each}
<script>
const fillTable = (el, data, id) => () => {
// el would be the created element
// data and id were passed on in the #each
}
</script>

第三种方法是将承诺移出标记并将逻辑放在脚本标签本身中,它需要使用一些额外的变量来跟踪加载、错误等......但如果你想添加很多与承诺决议本身相关的额外操作,最终可能会更干净。我想在那里,这更多地变成了一个品味问题。

相关内容

  • 没有找到相关文章

最新更新