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 相关文章推荐
js压缩利器
Feb 20 Javascript
js DataSet数据源处理代码
Mar 29 Javascript
jquery datatable后台封装数据示例代码
Aug 07 Javascript
JavaScript中的数学运算介绍
Dec 29 Javascript
浅谈JavaScript正则表达式分组匹配
Apr 10 Javascript
JS实现3D图片旋转展示效果代码
Sep 22 Javascript
jquery模拟多级复选框效果的简单实例
Jun 08 Javascript
详解js的延迟对象、跨域、模板引擎、弹出层、AJAX【附实例下载】
Dec 19 Javascript
从零开始学习Node.js系列教程五:服务器监听方法示例
Apr 13 Javascript
vue.js给动态绑定的radio列表做批量编辑的方法
Feb 28 Javascript
js删除数组中某几项的方法总结
Jan 16 Javascript
vue项目中播放rtmp视频文件流的方法
Sep 17 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
QueryPath PHP 中的jQuery
2010/04/11 PHP
php简单定时执行任务的实现方法
2015/02/23 PHP
php下载文件,添加响应头的简单实例
2016/09/22 PHP
PHP实现生成推广海报的方法详解
2018/03/14 PHP
php+js实现的无刷新下载文件功能示例
2019/08/23 PHP
我见过最全的个人js加解密功能页面
2007/12/12 Javascript
javascript笔试题目附答案@20081025_jb51.net
2008/10/26 Javascript
Jsonp 跨域的原理以及Jquery的解决方案
2010/05/18 Javascript
按给定几率进行随机抽取的js代码
2010/12/28 Javascript
javascript日期转换 时间戳转日期格式
2011/11/05 Javascript
让AJAX不依赖后端接口实现方案
2012/12/03 Javascript
js插件设置innerHTML时在IE8下提示“未知运行时错误”解决方法
2015/04/25 Javascript
JavaScript实现模仿桌面窗口的方法
2015/07/18 Javascript
javascript类型系统_正则表达式RegExp类型详解
2016/06/24 Javascript
jQuery替换节点用法示例(使用replaceWith方法)
2016/09/08 Javascript
通过Ajax使用FormData对象无刷新上传文件方法
2016/12/08 Javascript
JavaScript 中 apply 、call 的详解
2017/03/21 Javascript
详解nodejs express下使用redis管理session
2017/04/24 NodeJs
Gulp实现静态网页模块化的方法详解
2018/01/09 Javascript
vue 下列表侧滑操作实例代码详解
2018/07/24 Javascript
解决vue中使用Axios调用接口时出现的ie数据处理问题
2018/08/13 Javascript
Vue实现搜索结果高亮显示关键字
2019/05/28 Javascript
Python天气预报采集器实现代码(网页爬虫)
2012/10/07 Python
Python判断变量是否为Json格式的字符串示例
2017/05/03 Python
Django文件存储 默认存储系统解析
2019/08/02 Python
下载与当前Chrome对应的chromedriver.exe(用于python+selenium)
2020/01/14 Python
深入浅析python变量加逗号,的含义
2020/02/22 Python
探究 canvas 绘图中撤销(undo)功能的实现方式详解
2018/05/17 HTML / CSS
药学专业学生的自我评价分享
2014/02/06 职场文书
中学校庆方案
2014/03/17 职场文书
社团活动总结范文
2014/04/26 职场文书
网络销售员岗位职责
2015/04/11 职场文书
消防安全月活动总结
2015/05/08 职场文书
如何在python中实现ECDSA你知道吗
2021/11/23 Python
一条慢SQL语句引发的改造之路
2022/03/16 MySQL
日本动漫十大公认神作:第五现已全网禁播,《死亡笔记》在榜
2022/03/18 日漫