Vue.js路由实现选项卡简单实例


Posted in Javascript onJuly 24, 2019

本文实例为大家分享了Vue.js路由实现选项卡的具体代码,供大家参考,具体内容如下

需要实现下图效果,点击上方选项卡,切换到不同内容的组件:

Vue.js路由实现选项卡简单实例

事先准备好两个库文件(vue.js、vue-router.js),放到对应路径。

1.引入依赖库

<script src="vue.js" type="text/javascript" charset="GBK"></script>
<script src="vue-router.js" type="text/javascript" charset="GBK"></script>

2.组件创建

const Html = Vue.extend({
      template: '<div><h1>html</h1><p>{{msg}}</p></div>',
      data: function() {
        return {
          msg: 'This is the html vue-router.'
        }
      }
    });
    const Css = Vue.extend({
      template: '<div><h1>CSS</h1><p>{{msg}}</p></div>',
      data(){
       return{
       msg: 'This is the CSS vue-router.'
       }
      }
    });
    const Vue1 = Vue.extend({
      template: '<div><h1>Vue</h1><p>{{msg}}</p></div>',
      data(){
       return{
       msg: 'This is the Vue vue-router.'
       }
      }
    });
    const Javascript = Vue.extend({
      template: '<div><h1>Javascript</h1><p>{{msg}}</p></div>',
      data(){
       return{
       msg: 'This is the Javascript vue-router.'
       }
      }
    });

3.路由创建与映射

const router = new VueRouter({
     routes: [
      { path: '/html', component: Html },
       { path: '/css', component: Css },
       { path: '/vue', component: Vue1 },
       { path: '/javascript', component: Javascript },
       { path: '/', component: Html } //默认路径
     ] 
    });

4.挂在实例

const vm = new Vue({
       router: router 
    }).$mount('#app');

5.页面<router-link>,to指令跳转到指定路径

<div id="app">
    <div class="app-tit">
      <router-link to="/html">html</router-link>
      <router-link to="/css">css</router-link>
      <router-link to="/vue">vue</router-link>
      <router-link to="/javascript">javascript</router-link>
    </div>
  <div class="app-con">
     <router-view></router-view>
    </div>      
  </div>

6.所用样式

<style>
  body{
    font-family:"Microsoft YaHei";
  }
  #app{
    width: 600px;
    margin: 0 auto;
  }
  .app-tit{
    font-size: 0;
    width: 600px;
  }
  .app-tit .router-link-active {
   background: #09f;
    color: #fff;
  }
  .app-tit a{
    display: inline-block;
    height: 40px;
    line-height: 40px;
    font-size: 16px;
    width: 25%;
    text-align: center;
    background: #ccc;
    color: #333;
    text-decoration: none;
  }
  .app-con div{
    border: 1px solid #ccc;
    height: 400px;
    padding-top: 20px;
  }
  
</style>

完整代码

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="GBK">
  <title>hello world</title>
  <script src="vue.js" type="text/javascript" charset="GBK"></script>
  <script src="vue-router.js" type="text/javascript" charset="GBK"></script>
</head>
 <style>
  body{
    font-family:"Microsoft YaHei";
  }
  #app{
    width: 600px;
    margin: 0 auto;
  }
  .app-tit{
    font-size: 0;
    width: 600px;
  }
  .app-tit .router-link-active {
   background: #09f;
    color: #fff;
  }
  .app-tit a{
    display: inline-block;
    height: 40px;
    line-height: 40px;
    font-size: 16px;
    width: 25%;
    text-align: center;
    background: #ccc;
    color: #333;
    text-decoration: none;
  }
  .app-con div{
    border: 1px solid #ccc;
    height: 400px;
    padding-top: 20px;
  }
  
</style>
<body>
  <div id="app">
    <div class="app-tit">
      <router-link to="/html">html</router-link>
      <router-link to="/css">css</router-link>
      <router-link to="/vue">vue</router-link>
      <router-link to="/javascript">javascript</router-link>
    </div>
  <div class="app-con">
     <router-view></router-view>
    </div>      
  </div>
  
  <script type="text/javascript">
    const Html = Vue.extend({
      template: '<div><h1>html</h1><p>{{msg}}</p></div>',
      data: function() {
        return {
          msg: 'This is the html vue-router.'
        }
      }
    });
    const Css = Vue.extend({
      template: '<div><h1>CSS</h1><p>{{msg}}</p></div>',
      data(){
       return{
       msg: 'This is the CSS vue-router.'
       }
      }
    });
    const Vue1 = Vue.extend({
      template: '<div><h1>Vue</h1><p>{{msg}}</p></div>',
      data(){
       return{
       msg: 'This is the Vue vue-router.'
       }
      }
    });
    const Javascript = Vue.extend({
      template: '<div><h1>Javascript</h1><p>{{msg}}</p></div>',
      data(){
       return{
       msg: 'This is the Javascript vue-router.'
       }
      }
    });
    const router = new VueRouter({
     routes: [
      { path: '/html', component: Html },
       { path: '/css', component: Css },
       { path: '/vue', component: Vue1 },
       { path: '/javascript', component: Javascript },
       { path: '/', component: Html } //默认路径
     ] 
    });
    const vm = new Vue({
       router: router 
    }).$mount('#app');
  </script>
</body>
</html>

如有错误之处,欢迎指出,万分感谢!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
新手常遇到的一些jquery问题整理
Aug 16 Javascript
php对mongodb的扩展(小试牛刀)
Nov 11 Javascript
jquery设置按钮停顿3秒不可用
Mar 07 Javascript
bootstrap手风琴制作方法详解
Jan 11 Javascript
mac上node.js环境的安装测试
Jul 03 Javascript
关于TypeScript中import JSON的正确姿势详解
Jul 25 Javascript
Angularjs中ng-repeat的简单实例
Aug 25 Javascript
原生JS实现日历组件的示例代码
Sep 22 Javascript
javaScript实现滚动条事件详解
Mar 24 Javascript
vue.js实现格式化时间并每秒更新显示功能示例
Jul 07 Javascript
Angular父子组件通过服务传参的示例方法
Oct 31 Javascript
javascript实现视频弹幕效果(两个版本)
Nov 28 Javascript
vue滚动tab跟随切换效果
Jun 29 #Javascript
Vue.js实现tab切换效果
Jul 24 #Javascript
javascript面向对象三大特征之多态实例详解
Jul 24 #Javascript
javascript面向对象三大特征之继承实例详解
Jul 24 #Javascript
Vue.js组件实现选项卡以及切换特效
Jul 24 #Javascript
javascript中call,apply,callee,caller用法实例分析
Jul 24 #Javascript
javascript关于“时间”的一次探索
Jul 24 #Javascript
You might like
WordPress中转义HTML与过滤链接的相关PHP函数使用解析
2015/12/22 PHP
为调试JavaScript添加输出窗口的代码
2010/02/07 Javascript
判断控件是否已加载完成的代码
2010/02/24 Javascript
基于jQuery的一个扩展form序列化到json对象
2010/12/09 Javascript
解决JS中乘法的浮点错误的方法
2014/01/03 Javascript
javascript检测移动设备横竖屏
2016/05/21 Javascript
AngularJS基础 ng-src 指令简单示例
2016/08/03 Javascript
利用yarn代替npm管理前端项目模块依赖的方法详解
2017/09/04 Javascript
vue+node+webpack环境搭建教程
2017/11/05 Javascript
vuejs 动态添加input框的实例讲解
2018/08/24 Javascript
微信小程序自定义轮播图
2018/11/04 Javascript
JavaScript中callee和caller的区别与用法实例分析
2019/06/28 Javascript
[04:00]黄浦江畔,再会英雄——完美世界DOTA2 TI9应援视频
2019/07/31 DOTA
[01:08:32]DOTA2-DPC中国联赛 正赛 DLG vs PHOENIX BO3 第二场 1月18日
2021/03/11 DOTA
python概率计算器实例分析
2015/03/25 Python
Python字符和字符值(ASCII或Unicode码值)转换方法
2015/05/21 Python
详解Python的Lambda函数与排序
2016/10/25 Python
Python中list查询及所需时间计算操作示例
2018/06/21 Python
python 动态生成变量名以及动态获取变量的变量名方法
2019/01/20 Python
对python_discover方法遍历所有执行的用例详解
2019/02/13 Python
Python利用逻辑回归分类实现模板
2020/02/15 Python
PyCharm+Pipenv虚拟环境开发和依赖管理的教程详解
2020/04/16 Python
详解pyinstaller生成exe的闪退问题解决方案
2020/06/19 Python
基于python实现MQTT发布订阅过程原理解析
2020/07/27 Python
DRF框架API版本管理实现方法解析
2020/08/21 Python
python破解同事的压缩包密码
2020/10/14 Python
阿里健康大药房:阿里自营网上药店
2017/08/01 全球购物
办公室文秘自我鉴定
2013/09/21 职场文书
英文简历中的自我评价用语
2013/12/09 职场文书
2014年毕业演讲稿范文
2014/05/13 职场文书
停课通知书
2015/04/24 职场文书
工作收入证明模板
2015/06/12 职场文书
观看《信仰》心得体会
2016/01/15 职场文书
毕业生求职自荐信(2016最新版)
2016/01/28 职场文书
tensorflow+k-means聚类简单实现猫狗图像分类的方法
2021/04/28 Python
Python中的程序流程控制语句
2022/02/24 Python