sf-2c6 / App.vue
cloudjumbo's picture
Add 5 files
ef3df75 verified
Raw
History Blame Contribute Delete
1.34 kB
<template>
<div x-data="{ ...todos, countdown: 10 }" :class="{ done: done }">
<div v-if="done">
<h1>Completed!</h1>
</div>
<div v-else>
<h1>Todo List</h1>
<ol>
<li v-for="todo in todos" x-transition>
<Checkbox v-model="todo.completed" @toggle="completeTodo(todo)" />
{{ todo.title }}
{{ todo.completed ? 'done' : 'to-do' }}
</li>
</ol>
<div class="footer">
<p>{{ countdown }} seconds left</p>
</div>
<button x-data="{ show: true }" x-show="show" x-on:click="show = false">Stop Timer</button>
</div>
</div>
</template>
<script>
export default {
data() {
return {
todos: [
{ title: 'Todo 1', completed: false },
{ title: 'Todo 2', completed: false },
{ title: 'Todo 3', completed: false },
{ title: 'Todo 4', completed: false },
{ title: 'Todo 5', completed: false }
]
}
},
methods: {
completeTodo(todo) {
todo.completed = !todo.completed
this.countdown = 10
}
},
mounted() {
console.log('mounted')
}
}
</script>