使用vue给导航栏添加链接

如下面的导航栏,使用vue技术给该导航栏增加链接:

js代码为:

navigation:function(){
            new Vue({
                el: '#navUl',
                data: {
                    menuData:{
                        '个人首页':'personal-home.html',
                        '人才分析':'personal-analysis.html',
                        '基本信息':'personal-info-base.html',
                        '技能态度':'skill-attitude.html',
                        '参与项目':'involved-project.html',
                        '学习':'learn.html',
                        '考勤':'work-attend.html',
                        '生活福利':'welfare.html'
                    }
                },
                computed:{
                    curIdx:function(){
                        var curIdx = 0;
                        $.each(this.menuData,function(k,v){
                            if(location.pathname.indexOf(v)!=-1){//说明包括(也就是当前页面)
                                return false;
                            }else{//==-1说明不包括(不是当前页面)
                                curIdx++;
                            }
                        });
                        console.log(curIdx);
                        return curIdx;
                    }
                }
            });
        }

html代码为:

<ul class="nav-ul" id="navUl">
          <template v-for="(link,name,index) in menuData">
          <li class="nav-li" v-bind:class="index==curIdx?'curr':''"><a :href="link">{{ name+'--'+index }}</a></li>
           </template>
</ul>

说明:思路是,每一页都对应着一个index值,举例来说:当切换到基本信息页时,index=2,此时如果curIdx也等于2,那么index==curIdx,增加curr类,文字变红,而页面跳转是给文字增加了链接,不是点击事件造成的;

因此切换到个人首页时,curIdx==0;切换到人才分析页时,curIdx==1;切换到基本信息页时,curIdx==2;以此类推;

对于基本信息页:js文件中,循环this.menuData,首先当前链接不包括第一个链接personal-home.html的内容,所以location.pathname.indexOf(v)==-1,此时curIdx由0增加为1;

然后第二次循环,当前链接不包括第二个链接personal-analysis.html的内容,所以location.pathname.indexOf(v)==-1,此时curIdx由1增加为2;

然后第三次循环,当前链接包括第三个链接personal-info-base.html的内容,所以location.pathname.indexOf(v)!=-1,此时return出false,curIdx==2;

也就是说基本信息页的curIdx为2;此时index==curIdx,为当前增加curr类名;

转载于:https://www.cnblogs.com/xiaozhumaopao/p/6257283.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值