【问题标题】:How to give class only clicked element, and remove when other element is clicked using Vue.js? [duplicate]如何只给类单击元素,并在使用 Vue.js 单击其他元素时删除? [复制]
【发布时间】:2021-05-06 23:15:17
【问题描述】:

我是使用 Vue.js 创建应用程序,我遇到了一个问题,我知道如何使用 jQuery 解决这个问题,但我不知道如何在 vue 应用程序中解决这个问题,我将尝试解释我的问题简单地说,我得到了项目列表,我想给只有点击的元素特定的颜色,如果第二个元素会被点击就删除,我想用e.target来实现我的目标,有什么解决方案吗?提前致谢

new Vue({
  el: '#app',
  methods: {
    giveColor(event) {
        event.target.className += " green";
    }
  }
})
.green {
  background-color: green;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.15/vue.js"></script>
<div id="app">
  <li class="some" @click="giveColor" v-for="y in 10">
     menu  clicked {{y}}
  </li>
</div>

【问题讨论】:

标签: javascript vue.js


【解决方案1】:

你可以这样做:

new Vue({
  el: '#app',
  data: {
    selected: 0,
  },
  methods: {
    giveColorTo(y) {
        this.selected = y;
    }
  }
})
.green {
  background-color: green;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.15/vue.js"></script>
<div id="app">
  <li class="some" @click="giveColorTo(y)" :class="{green:selected == y}" v-for="y in 10" :key="y">
     menu  clicked {{y}}
  </li>
</div>

【讨论】:

  • 您必须将问题标记为重复
猜你喜欢
  • 1970-01-01
  • 2017-04-06
  • 1970-01-01
  • 1970-01-01
  • 2018-06-24
  • 2017-04-26
  • 1970-01-01
  • 2018-05-05
  • 2020-07-27
相关资源
最近更新 更多