mtl*_*pay 1 javascript vue.js v-for
我正在使用 vuejs v-for 循环制作一个项目列表。我有一些来自服务器的 API 数据。
items: [
{
foo: 'something',
number: 60
},
{
foo: 'anything',
number: 15
},
{
foo: 'text',
number: 20,
}
]
Run Code Online (Sandbox Code Playgroud)
模板
<div v-for="(item,index) in items" :key="index">
<div :class="{ active: ????}" @click="toggleActive">
{{ item.foo }}
{{ item.number }}
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
JS
methods: {
toggleActive() {
//
}
}
Run Code Online (Sandbox Code Playgroud)
我需要以下内容:当我单击 div 添加活动类时,如果我已经有活动类 - 删除活动类。(切换)。我也可以选择多个项目。
我怎样才能做到这一点?我在 items 数组中没有布尔变量,并且我不应该在单独的组件中移动 item
干得好。
new Vue({
el: "#app",
data: {
items: [{
foo: 'something',
number: 60
},
{
foo: 'anything',
number: 15
},
{
foo: 'text',
number: 20,
}
]
},
methods: {
toggleActive(index) {
let item = this.items[index];
item.active = !item.active;
this.$set(this.items, index, item);
}
}
})Run Code Online (Sandbox Code Playgroud)
.active {
color: red;
}Run Code Online (Sandbox Code Playgroud)
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.js"></script>
<div id="app">
<div v-for="(item,index) in items" :key="index">
<div :class="{ active: item.active}" @click="toggleActive(index)">
{{ item.foo }} {{ item.number }}
</div>
</div>
</div>Run Code Online (Sandbox Code Playgroud)
这是一个 JS 小提琴: https ://jsfiddle.net/eywraw8t/250008/
| 归档时间: |
|
| 查看次数: |
6950 次 |
| 最近记录: |