【发布时间】:2020-02-04 05:57:14
【问题描述】:
我正在使用 SveleteJS 进行试驾,结果卡住了
制作了一个Dashboard 组件,在该组件内部,我放置了一个白板组件:
<script>
import Whiteboard from "./Whiteboard.svelte";
export let name;
</script>
<div class="box part-of-dashboard">
<Whiteboard lines={[]} />
</div>
Whitebord.svelte:
<script>
export let lines = [];
export function addLine() {
lines.push("blah");
console.log(lines);
}
</script>
<div style="background-color:red">
{#each lines as line}
<div>
{line}
</div>
{/each}
</div>
<div>
<button on:click={addLine}>
Add Line
</button>
</div>
当我点击按钮时,console.log 触发,我可以看到线条的大小增加,但我没有看到它在页面上呈现,只有空的红色 div 包裹它。
我尝试将$: 添加到不同的地方,但我还不确定它应该在哪里使用以及不应该在哪里使用,并不是说它有什么不同。
我如何让#each 呈现一个 div 列表(以及从on:click 传递数据的正确方法是什么,执行 {addLine('blah')} 在页面加载时执行 addLine )?
【问题讨论】:
标签: javascript svelte svelte-component svelte-3