如何在方法中添加类 - VUE.js

问题描述 投票:0回答:2

基本问题,但我仍然无法弄清楚如何基于@click添加额外的类。我仍然得到错误:无法读取属性'add'of undefined“

methods: {
    hideItems() {

        document.getElementsByClassName('sold').classList.add('hide')
       }
    }
class vue.js methods click
2个回答
1
投票

getElementsByClassName返回HTMLCollection所以你需要循环通过该集合。

应该这样做:

methods: {
    hideItems() {
        const items = document.getElementsByClassName('sold');

        for(item of items){
           item.classList.add('hide');
         }
       }
    }

1
投票

您可以在元素上添加:class="{ hide: hidden }"属性,其中hidden是Vue组件的布尔属性。这将切换元素上的hide类。

new Vue({
  el: "#app",
  data() {
    return {
      hidden: false,
    };
  },
  methods: {
    toggle() {
      this.hidden = !this.hidden;
    },
  },
});
.hide {
  display: none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
  <button @click="toggle">
  Toggle visibility
  </button>
  <div :class="{ hide: hidden }">
    Hello
  </div>
</div>
© www.soinside.com 2019 - 2024. All rights reserved.