如下面的导航栏,使用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给导航栏添加链接的更多相关文章

  1. UIBarButtonItem导航栏添加按钮

    1 前言 UIBarButtonItem为导航栏按钮,在导航栏的左侧和右侧,他们具有许多种不同的形状和形式. 2 代码讲解 ZYViewController.m [plain]  (void)view ...

  2. 超详细Vue实现导航栏绑定内容锚点+滚动动画+vue-router(hash模式可用)

    超详细Vue实现导航栏绑定内容锚点+滚动动画+vue-router(hash模式可用) 转载自:https://www.jianshu.com/p/2ad8c8b5bf75 亲测有效~ <tem ...

  3. 记一次Vue跨导航栏问题解决方案

    简述 这篇文章是我项目中,遇到的一个issue,我将解决过程和方法记录下来. 本篇文章基于Vue.js进行的前端页面构建,由于仅涉及前端,将不做数据来源及其他部分的叙述.使用的CSS框架是 Boots ...

  4. Nuxt/Vue自定义导航栏Topbar+标签栏Tabbar组件

    基于Vue.js实现自定义Topbar+Tabbar组件|仿咸鱼底部凸起导航 最近一直在倒腾Nuxt项目,由于Nuxt.js是基于Vue.js的服务端渲染框架,只要是会vue,基本能很快上手了. 一般 ...

  5. vue组件导航栏动态添加class

  6. Vue设置导航栏为公共模块并在登录页不显示

    1.公共模块的内容可以放在App.vue中但是通常登录页面是不需要导航的,那么就需要规避登录页这时,就可以采用keep-alive结合$route.meta来实现这个功能.keep-alive 是 V ...

  7. 利用Jquery给当前页或者跳转后页面的导航栏添加选中后样式

    具体的样式有两种情况,一种是直接给当前页面添加特殊样式,当网页刷新或者跳转到下一页后,样式消失:另一种情况是即使刷新页面后样式仍然有效. 直接上代码: 第一种情况: 在CODE上查看代码片派生到我的代 ...

  8. vue 侧边导航栏递归显示

    import axios from "axios"; import tabs1 from "../tab_content/tab1.vue"; import m ...

  9. zblog实现后台导航栏增加链接功能的最简单方法

    首先在ftp中找到这个目录   zb_system/admin/ 然后找到    admin_top.php      这个文件 再然后找到这行代码      <?php ResponseAdm ...

随机推荐

  1. U盘被写保护如何解除 (转)

    U盘被写保护如何解除   在使用U盘的时候,一直都很正常,但是突然有一天,U盘被提示被写保护了,不能够进行读写数据,如果这时正着急使用,一定会被气疯了吧,其实解决这个问题,是非常简单的. U盘被写保护 ...

  2. mongodb php driver on windows

    windows env: os:windows 10 soft: XAMPP for Windows 5.6.15    php version:5.6.15  Architecture:x86 Th ...

  3. UML学习---交互

    在系统中,对象都不是孤立存在的,它们相互之间通过传递消息进行交互.交互是一种行为,由语境中的一组对象为达到某一目的而交换的一组消息构成.

  4. JS第一天基础总结

    今天开始学习javascript 主要讲理论上的东西,例如,什么是脚本语言,什么是变量,什么是DOM,什么是BOM等. 脚本语言,实质上可以理解为我们编写的剧本,浏览器按照我们编写的剧本一步一步完成剧 ...

  5. iOS系统tabbar图标出现重影问题

    大家在自定义tabbar的时候会将系统的tabbar干掉,然后放上自已自定义的tabbar(含有想要的Button)对不对,具体代码如下: /** * 添加自定义的tabBar */ -(void)a ...

  6. 一个Ubuntu源更新错误及解决办法

    InRelease: Clearsigned file isn't valid, got 'NODATA' (does the network require authentication?) 尝试进 ...

  7. angular 滚动

    AngularJs $anchorScroll.$controller.$document $anchorScroll 根据HTML5的规则,当调用这个函数时,它检查当前的url的hash值并且滚动到 ...

  8. oracle xmltype导入并解析Excel数据 (二)规则说明

    规则表字段说明如下: 其中RULE_FUNC_CUSTOMIZE表示,用户自己写函数,去判断数据是否合法,存储的是函数的名字 此函数的参数只有一个,该列的值,字段类型是Varchar2, 校验失败的话 ...

  9. How can i use iptables save on centos 7?

    I installed CentOS 7 with minimal configuration (os + dev tools). I am trying to open 80 port for ht ...

  10. opendir()函数

    opendir() 函数打开一个目录句柄,可由 closedir(),readdir() 和 rewinddir() 使用. 若成功,则该函数返回一个目录流,否则返回 false 以及一个 error ...