mirror of https://github.com/sveltejs/svelte
34 lines
700 B
34 lines
700 B
6 years ago
|
<script>
|
||
|
let todos = [
|
||
|
{ done: false, text: 'finish Svelte tutorial' },
|
||
|
{ done: false, text: 'build an app' },
|
||
|
{ done: false, text: 'world domination' }
|
||
|
];
|
||
|
|
||
|
function add() {
|
||
|
todos = todos.concat({ done: false, text: '' });
|
||
|
}
|
||
|
|
||
|
function clear() {
|
||
2 years ago
|
todos = todos.filter((t) => !t.done);
|
||
6 years ago
|
}
|
||
6 years ago
|
|
||
2 years ago
|
$: remaining = todos.filter((t) => !t.done).length;
|
||
6 years ago
|
</script>
|
||
|
|
||
|
<h1>Todos</h1>
|
||
|
|
||
|
{#each todos as todo}
|
||
5 years ago
|
<div>
|
||
2 years ago
|
<input type="checkbox" bind:checked={todo.done} />
|
||
|
|
||
|
<input placeholder="What needs to be done?" bind:value={todo.text} disabled={todo.done} />
|
||
6 years ago
|
</div>
|
||
|
{/each}
|
||
|
|
||
6 years ago
|
<p>{remaining} remaining</p>
|
||
|
|
||
2 years ago
|
<button on:click={add}> Add new </button>
|
||
6 years ago
|
|
||
2 years ago
|
<button on:click={clear}> Clear completed </button>
|