您的位置:首页 > 产品设计 > UI/UE

用Vue实现根据hash高亮选项卡

2018-01-25 12:28 531 查看
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style>
a {
color: #555;
}
.active {
color: red;
}
</style>
</head>
<body>
<main id="box">
<div class="tab">
<a v-for="tab in tabs" :href="tab.href" :class="{active:tab.href==myhash}">{{tab.title}}</a>
</div>
</main>
<script src="https://cdn.jsdelivr.net/npm/vue"></script>
<script>
var vm=new Vue({
el:'#box',
data:{
tabs: [
{
title: '所有任务',
href: '#all'
},
{
title: '未完成任务',
href: '#unfinished'
},
{
title: '完成的任务',
href: '#finished'
}
],
myhash:'#all' //存储当前hash值
}
});
function watchHashChange(){
var hash = window.location.hash;
if(hash!=''){
vm.myhash = hash;  //将hash值传过去
}else{
vm.myhash = '#all'; //否则用默认值
}
}
watchHashChange();
window.addEventListener('hashchange',watchHashChange);
</script>
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: