【发布时间】:2016-06-23 23:34:16
【问题描述】:
我正在尝试使用 vuejs 创建一个 todolist,添加和删除列表正在工作。我现在正在努力使用 -done 功能 - 它会切换一个类以将一个 line-through 附加到一个列表中。
问题是每次我切换 -done 按钮时 - 样式将应用于所有列表,而不仅仅是一个列表,这是我的代码
.completed{
text-decoration:line-through;
}
<div id="app">
<input type="text" v-model="newTodo" v-on:keyup.enter="addTodo">
<ul>
<li v-if="!todos.length">no items</li>
<li v-for="todo in todos">
<span v-bind:class="{'completed':done}"> {{ todo }}</span>
<button v-on:click="removeTodo($index)">X</button>
<button v-on:click="toggleC">done</button>
</li>
</ul>
</div>
<script src="http://cdnjs.cloudflare.com/ajax/libs/vue/1.0.25/vue.min.js"></script>
<script>
new Vue({
el: '#app',
data: {
newTodo : '',
todos : [],
done : false
},
methods: {
addTodo: function(){
var text = this.newTodo.trim()
if (text){
this.todos.push(text);
this.newTodo = '';
}
},
removeTodo: function (index){
this.todos.splice(index, 1)
},
toggleC: function(){
this.done = !this.done
}
}
})
</script>
</body>
</html>
谢谢!
【问题讨论】:
标签: javascript vue.js