我理解如何使用v-bind:class如果我有一个计算函数返回true或false。
我想知道是否可以使用与所点击的按钮的ID匹配的计算属性以及该按钮的值。 所以单击按钮1我可以获得该按钮的值,并检查它是否与绑定到输入的数据模型的值匹配。
目前,该按钮的值与Vue数据属性同步。
<label v-bind:class="myBtnClass">
<input type="radio" name="button1" id="button1" value="1" v-model="valueOfBtn"> One
</label>
<label v-bind:class="myBtnClass">
<input type="radio" name="button2" id="button2" value="2" v-model="valueOfBtn"> Two
</label>
new Vue({
el: '#app',
data: {
'valueOfBtn': 1
这个位只适用于一个按钮,显然我不想重复这段代码x次。
computed: {
myBtnClass: function () {
var result = [];
if (this.valueOfBtn) == document.getElementById('button1').value.valueOf()))
{
result.push('primary');
}
return result;
提前致谢
答案 0 :(得分:25)
改为使用methods
:
export default = {
methods: {
myBtnClass: function(name) {
var result = [];
if (this.valueOfBtn) === name) {
result.push('primary');
}
return result;
},
// ...
}
}
和HTML:
<label v-bind:class="myBtnClass('button1')">
....
<label v-bind:class="myBtnClass('button2')">