vue 循环多个div鼠标到这个div显示这个div的按钮
时间: 2024-03-06 15:48:03 浏览: 102
您可以使用Vue的指令`v-for`、`v-show`和`v-on`来实现循环多个`div`并在鼠标移到某个`div`上时显示该`div`的按钮。具体步骤如下:
1. 在HTML中使用`v-for`循环多个`div`,并为每个`div`添加一个按钮,按钮的`v-show`属性为`showBtn[index]`,初始值为`false`,即不显示按钮。`index`是当前`div`的下标。
```
<div v-for="(item, index) in items" v-on:mouseover="showBtn[index] = true" v-on:mouseleave="showBtn[index] = false">
{{ item.name }}
<button v-show="showBtn[index]">显示按钮</button>
</div>
```
2. 在Vue实例中添加一个`data`属性`items`,用于保存要循环的数据,以及一个`data`属性`showBtn`,初始值为一个长度等于`items`长度的数组,数组中每个元素都为`false`。
```
new Vue({
el: '#app',
data: {
items: [
{ name: '第一个div' },
{ name: '第二个div' },
{ name: '第三个div' },
{ name: '第四个div' }
],
showBtn: []
},
created () {
this.showBtn = new Array(this.items.length).fill(false)
}
})
```
这样,当鼠标移到某个`div`上时,该`div`对应的`showBtn`元素会变为`true`,该`div`的按钮就会显示出来;当鼠标离开`div`时,`showBtn`元素又会变为`false`,该`div`的按钮就又会隐藏起来。
阅读全文