如何在Vue中点击更改背景颜色

时间:2020-05-18 10:48:17

标签: javascript vue.js

我正在尝试使用vue更改元素单击时的背景颜色,但它没有改变,这是我到目前为止提出的,而且onclick方法具有两个功能,我读到是在vue中输入onclick事件的最佳方法。

 <div id="exercise">

    <div>
      <p>Current Value: {{ value }}</p>
      <button @click="value += 5(); red();" :style="{ 'background-color': color }">Add 5</button>
      <button @click="value += 1">Add 1</button>
      <p>{{ result }}</p>
    </div>

    <div>
      <input type="text" v-model="timer">
      <p>{{ value }}</p>
    </div> 
  </div>

js

new Vue({
  el: "#exercise",
  data: {
    value: 0,
    timer: 1000,


  },
  methods:{
  red() {
   this.color = "red";
  }
  },
  computed: {
    result: function() {
      return this.value >= 37 ? "Not there yet" : "done";
    }
  },
  watch: {
    result: function(value) {
      var vm = this;
      console.log(value);
      setTimeout(function() {
        vm.value = 0;
      }, 5000);
    }
  } 
});

1 个答案:

答案 0 :(得分:3)

您必须在数据中插入

data: {
   value: 0,
   timer: 1000,
   color: null
},

并尝试使用正确的语法:https://vuejs.org/v2/guide/class-and-style.html#Object-Syntax-1

<button @click="value += 5(); red();" :style="{backgroundColor: color }">Add 5</button>