【发布时间】:2018-03-16 11:00:30
【问题描述】:
我有一个通过 jsonplaceholder 生成的待办事项列表,单击按钮会用虚拟内容填充 div。
我想要实现的是,当我单击单个 div(任务)时,它应该被删除/隐藏。
到目前为止,
<button id="btn" v-on:click= 'getTodo'>Show Todo</button>
<div id="jsonData" v-for = 'todo in todos' >
<ul v-bind:class = '{active: isActive}' v-on:click = 'removeTask'>
<li>{{todo.title}} </li>
<li id="status"> Task Status : {{todo.completed}} </li>
</ul>
</div>
JS
var vm = new Vue({
el: '#app',
data() {
return {
todos: [],
isActive: false
}
},
methods: {
getTodo: function() {
axios.get('https://jsonplaceholder.typicode.com/todos')
.then((response) => {
this.todos = response.data;
})
},
removeTask: function() {
this.isActive = !this.isActive;
}
}
})
“removeTask”事件处理程序切换所有生成的 div(任务)的类,而不是点击的 div。
如何在点击的 div 上添加/删除类?
【问题讨论】:
-
您是否尝试在单个待办事项上设置
isActive属性? -
是的,这就是我想要实现的目标
-
您将
isActive的整体属性设置为 true/false,这在您想要操纵单个待办事项时没有意义。
标签: javascript vue.js