首页 > 其他 > 详细

使用vue给导航栏添加链接

时间:2017-01-06 21:21:47      阅读:317      评论:0      收藏:0      [点我收藏+]

如下面的导航栏,使用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类名;

使用vue给导航栏添加链接

原文:http://www.cnblogs.com/xiaozhumaopao/p/6257283.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!