vue.jsで超簡易的なtodo作成
<div id="app">
<h2>Todos list</h2>
<form v-on:submit.prevent>
<input type="text" v-model="newItem">
<button v-on:click="addItem">
ADD
</button>
<ul>
<li v-for="(todo, index) in todos">
<input type="checkbox" v-model="todo.isDone">
<span v-bind:class="{ done: todo.isDone }"> {{ todo.item }}</span>
<button v-on:click="deleteItem(index)">
Delete
</button>
</li>
</ul>
<pre>{{ $data }}</pre>
</form>
</div>
new Vue({
el: "#app",
data: {
newItem: "",
todos: []
},
methods: {
addItem: function(event) {
if (this.newItem == "") return;
var todo = {
item: this.newItem,
isDone: false
};
this.todos.push(todo);
this.newItem = "";
},
deleteItem: function(index) {
this.todos.splice(index, 1)
}
}
})
#app ul {
list-style: none;
}
#app li > span.done {
text-decoration: line-through;
}
結果
https://jsfiddle.net/hiroki1205/4e06y1q7/