我正在尝试使用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);
}
}
});
答案 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>