Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript VueJS在调用简单方法后更新Dom无效_Javascript_Vue.js_Vuejs2_Vue Component - Fatal编程技术网

Javascript VueJS在调用简单方法后更新Dom无效

Javascript VueJS在调用简单方法后更新Dom无效,javascript,vue.js,vuejs2,vue-component,Javascript,Vue.js,Vuejs2,Vue Component,我希望在单击按钮时动态更改按钮的颜色。因此,我添加了一个自定义类“active”,该类只应在属性isActive设置为true时分配。单击后,我想调用一个方法,将属性更改为true,然后更新dom以添加自定义类。感谢您的帮助;) 您没有将索引传递给activate回调。将其更改为: @click="activate(index)">{{funktion.name}}</button> 。自定义活动{ 背景色:红色; } {{funktion.name} 对不起,当然我已经这

我希望在单击按钮时动态更改按钮的颜色。因此,我添加了一个自定义类“active”,该类只应在属性isActive设置为true时分配。单击后,我想调用一个方法,将属性更改为true,然后更新dom以添加自定义类。感谢您的帮助;)


您没有将索引传递给
activate
回调。将其更改为:

@click="activate(index)">{{funktion.name}}</button>
。自定义活动{
背景色:红色;
}

{{funktion.name}

对不起,当然我已经这么做了,这是问题中的一个错误,我会编辑。还有其他想法吗?那么我不确定你在问什么,因为你的代码已经在单击时添加了活动类?单击时数据会正确更改,但Dom不会更新。如果我手动将“isActive”改为true,那么类在重新加载时会被正确分配dom更新对我来说很好,这到底是怎么回事?好吧,我无法反驳,那就不知道了
export default {

  data() {
    return {
      funktions: [
          {
            name: "finanzen",
            isActive: false
          },
          {
            name: "management",
            isActive: false
          },
          {
            name: "testfield",
            isActive: false
           },
       ],
    };
  },
  methods: {
    activate(index){
        this.funktions[index].isActive = true;
    },
};
@click="activate(index)">{{funktion.name}}</button>