小编Jis*_*Roh的帖子

VueJS v-if = array [index]不起作用

当鼠标悬停在图像上时,我想制作一个获取文本框的组件.

下面是HTML模板.

<section class="item-container" v-for="(item, index) in items">
  <div class="image-box" @mouseenter="changeStatus(index)">
    <img class="image" src="item.link" alt>
  </div>
  <div class="text-box" @mouseleave="changeStatus(index)" v-if="show[index]">
    <h4>{{ item.name }}</h4>
    <p>{{ item.content }}</p>
  </div>
</section>
Run Code Online (Sandbox Code Playgroud)

以下是app.js

new Vue({
  el: '#app',
  data: {
    show: [false, false, false],
    items: [
      {
        name: 'Author 1',
        content: 'Content 1'
      },
      {
        name: 'Author 2',
        content: 'Content 2'
      },
      {
        name: 'Author 3',
        content: 'Content 3'
      }
    ]
  },
  methods: {
    changeStatus: function(index) {
      this.show[index] = !this.show[index];
      console.log(this.show); 
      console.log(this.show[index]);  // console gets …
Run Code Online (Sandbox Code Playgroud)

vue.js vuejs2

14
推荐指数
1
解决办法
7918
查看次数

标签 统计

vue.js ×1

vuejs2 ×1