使用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类名;

posted @ 2017-01-06 17:59  小猪冒泡  阅读(4432)  评论(0编辑  收藏  举报