Я беру 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 назагрузка страницы)?