我尝试了几种方法来做到这一点,但似乎没有用。返回activeClass未定义。使用plain JS的classList也会在Vue中返回undefined。似乎无法在提供的文档中指出这一点。
这是我作为锅炉板所得到的。
let attributes = {
activeClass: 'tab--active'
}
Vue.component('insurance-menu', {
template: `
<ul id="tabs">
<li><a class="tab" v-bind:class="{activeClass}" href="#">Link</a></li>
<li><a class="tab" v-bind:class="{activeClass}" href="#">Link</a></li>
<li><a class="tab" v-bind:class="{activeClass}" href="#">Link</a></li>
<li><a class="tab" v-bind:class="{activeClass}" href="#">Link</a></li>
</ul>`,
data: function() {
return attributes
},
methods: {
}
});
let tabs = new Vue({
el: '#menu-container'
});
答案 0 :(得分:0)
使用数组而不是Object来返回您的值:
<a class="tab" v-bind:class="[activeClass]">
你可以让你的代码更加干净:
<a :class="['tab', activeClass]">
答案 1 :(得分:0)
您可以使用本地数据在视图中添加某个类,如下所示:
<div v-bind:class="{ active: isActive }"></div>
在你的js:
data: {
isActive: true,
hasError: false
}
你可以使用FYI 只是:类(没有v-bind),它也将是完美的。
该代码会添加“活跃”字样。如果isActive
属性返回true
来源:文档和个人用法(https://vuejs.org/guide/class-and-style.html#Object-Syntax)