可以使用一个用来引入css文件的组件
<template><div>
<style type="text/css" :src="'/path/to/' + theme + '.css'"></style>
</div>
</template>
<script>
export default {
data () {
return {
theme: 'your-custom-theme'
}
}
}
</script>
注:以上代码没有经过测试,纯理论指导。应该没问题。还有更高级一点的用法是通过vuex状态管理,篇幅比较大,这里不敲这么多代码,反正道理是一样的。
template<ul>
<li v-for="tab in tabs" :class="{ 'is-active': tab.isSelected}">
<a :href="tab.href" @click="selectTab(tab)">{{tab.name}}</a>
</li>
</ul>
script
selectTab(selectedTab) {
this.tabs.forEach(tab =>{
tab.isSelected = (tab.name == selectedTab.name)
})
}