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

时间:2021-05-26

本文实例为大家分享了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>

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

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

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章