我正在添加/删除基于 bool 值的类。仅作为 bool 工作,但如果 bool 在数组中则不行
此行有效,添加/删除了不透明类:

<img v-bind:class="{opaque: slide1}" src="img/forest-field.jpg" />

此行不起作用,不透明类不会被添加/删除:
<img v-bind:class="{opaque: slideBools[0]}" src="img/forest-field.jpg" />

实例数据中的代码:
new Vue({
  el: '#myCarousel',
  data: {
    slideBools: [true, false, false, false],
    slide1: true,
    slide2: false,
    slide3: false,
    slide4: false,
    },
  },
});

我在这样的实例方法中更新 bool 值:
  methods: {
    startSlides: function () {
      var vm = this;
      setInterval(() => {
        vm.slideBools[vm.curImage] = true;
      }, 4000);
    },
  }

更新问题:我想知道我如何从 html 引用数组值是问题所在

最佳答案

在更新数组值时,使用 Vue.set 或其别名 this.$set method 来反射(reflect)在 DOM 中,因为它的嵌套属性直接更新不会在所有情况下反射(reflect)。

this.$set(this.slideBools, 0, true)

有关更多信息,请参阅 Vue documentation about reactivity

UPDATE : 在您的情况下,代码如下所示:
  methods: {
    startSlides: function () {
      var vm = this;
      setInterval(() => {
        v.$set(vm.slideBools, vm.curImage, true);
      }, 4000);
    },
  }

关于vue.js - vuejs 通过在数组中引用 bool 来添加/删除类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59470140/

10-16 19:55