【发布时间】:2017-08-26 07:04:41
【问题描述】:
我有一个两列布局。左栏有一个堆叠菜单,当用户选择一个选项时,内容显示在右侧。在所选菜单链接上设置 active 类的最佳方法是什么?
我在下面提出了一个解决方案,但它似乎有点冗长。每个菜单项都有一个以data.activeTab 为条件的类分配。点击事件处理程序更新data.activeTab 的值。
<template>
<div>
<div class="row">
<div class="col-md-3">
<ul class="nav nav-pills nav-stacked">
<li role="presentation" :class="{active : activeTab == 'option1'}">
<a :href="'/#/sales/' + uuid + '/option1'" @click="updateMenu">Option 1</a>
</li>
<li role="presentation" :class="{active : activeTab == 'option2'}">
<a :href="'/#/sales/' + uuid + '/option2'" @click="updateMenu">Option 2</a>
</li>
</ul>
</div>
<div class="col-md-9">
<router-view></router-view>
</div>
</div>
</div>
</template>
<script>
export default {
data : function () {
return {
activeTab : 'option1'
}
},
props : [
'uuid'
],
methods : {
updateMenu : function (event) {
var str = event.target.toString();
this.activeTab = str.substr(str.lastIndexOf('/') + 1);
}
}
}
</script>
【问题讨论】:
标签: javascript vue.js