zoukankan      html  css  js  c++  java
  • 使用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类名;

  • 相关阅读:
    Git冲突解决方案
    [原创作品] Express 4.x 接收表单数据
    [转]用Node.js创建自签名的HTTPS服务器
    [原创作品] RequireJs入门进阶教程
    [原创作品]轮播焦点图插件的实现
    [原创作品]web网页中的锚点
    [原创作品]手把手教你怎么写jQuery插件
    [原创作品]html css改变浏览器选择文字的背景和颜色
    [原创]Web前端开发——让ie 7 8支持表单的placeholder属性
    web前端代码规范——css代码规范
  • 原文地址:https://www.cnblogs.com/xiaozhumaopao/p/6257283.html
Copyright © 2011-2022 走看看