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 相关文章推荐
JavaScript让IE浏览器event对象符合W3C DOM标准
Nov 24 Javascript
可以用来调试JavaScript错误的解决方案
Aug 07 Javascript
基于mouseout和mouseover等类似事件的冒泡问题解决方法
Nov 18 Javascript
javascript闭包传参和事件的循环绑定示例探讨
Apr 17 Javascript
自动完成的搜索框javascript实现
Feb 26 Javascript
jQuery 监控键盘一段时间没输入
Apr 22 Javascript
使用prop解决一个checkbox选中后再次选中失效的问题
Jul 05 Javascript
js实现div色块碰撞
Jan 16 Javascript
微信小程序录音实现功能并上传(使用node解析接收)
Feb 26 Javascript
微信小程序拖拽排序列表的示例代码
Jul 08 Javascript
Vue实现点击当前行变色
Dec 14 Vue.js
JS获取一个字符串中指定字符串第n次出现的位置
Feb 10 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
PHP COOKIE及时生效的方法介绍
2014/02/14 PHP
PHP中的output_buffering详细介绍
2014/09/27 PHP
php中get_meta_tags()、CURL与user-agent用法分析
2014/12/16 PHP
php实现基于openssl的加密解密方法
2016/09/30 PHP
php把时间戳转换成多少时间之前函数的实例
2016/11/16 PHP
thinkphp自定义权限管理之名称判断方法
2017/04/01 PHP
PHP替换Word中变量并导出PDF图片的实现方法
2020/11/26 PHP
jquery 输入框数字限制插件
2009/11/10 Javascript
写出高效jquery代码的19条指南
2014/03/19 Javascript
jquery控制select的text/value值为选中状态
2014/06/03 Javascript
一段非常简单的js判断浏览器的内核
2014/08/17 Javascript
jquery提示效果实例分析
2014/11/25 Javascript
JavaScript、tab切换完整版(自动切换、鼠标移入停止、移开运行)
2016/01/05 Javascript
AngularJS ng-blur 指令详解及简单实例
2016/07/30 Javascript
js 获取范围内的随机数实例代码
2016/08/02 Javascript
Bootstrap table的使用方法
2016/11/02 Javascript
纯原生js实现table表格的增删
2017/01/05 Javascript
elementUI select组件默认选中效果实现的方法
2019/03/25 Javascript
VUE解决 v-html不能触发点击事件的问题
2019/10/28 Javascript
vue实现设置载入动画和初始化页面动画效果
2019/10/28 Javascript
基于Vue的侧边目录组件的实现
2020/02/05 Javascript
[47:39]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 LGD vs OPTIC
2018/03/31 DOTA
Python中的异常处理相关语句基础学习笔记
2016/07/11 Python
Python扩展内置类型详解
2018/03/26 Python
解决python爬虫中有中文的url问题
2018/05/11 Python
python3+PyQt5 实现Rich文本的行编辑方法
2019/06/17 Python
django项目中使用云片网发送短信验证码的实现
2021/01/19 Python
python lambda的使用详解
2021/02/26 Python
应届生会计求职信
2013/11/11 职场文书
奥巴马胜选演讲稿
2014/05/15 职场文书
积极向上的团队口号
2014/06/06 职场文书
安全施工标语
2014/06/07 职场文书
清明节扫墓活动总结
2015/02/09 职场文书
大学生党员个人总结
2015/02/13 职场文书
2016年万圣节活动总结
2016/04/05 职场文书
python标准库ElementTree处理xml
2022/05/20 Python