今天編寫了一下Vue中的路由javascript
先用命令行新建一個空的項目,而且我知道要用路由,就下載了路由的相關依賴html
vue init webpack demo5前端
完畢以後進入所在的項目 cd demo5vue
以後用vscode打開、引入demo5的文件夾,在vscode自帶的命令行中安裝依賴和啓動java
cnpm installwebpack
cnpm run devgit
以後成功啓動在8080端口github
要想顯示導航,限準備一些vue的頁面,導航,我這邊但願顯示在頭部web
那就在header中添加vue-router
先來看一下頁面,以後代碼同步到github上 https://github.com/JasmineQian/Vue_Sample
先說一下跳轉的用法
methods: { goToLearnPage() { //跳轉到上一次的頁面 //this.$router.go(-1) //指定跳轉的地址 //this.$router.replace('/learn') //指定跳轉路由的名字下 //this.$router.replace({name:'menuLink'}) //經過push進行跳轉 this.$router.push("/learn"); //this.$router.push({name:'/learn'}) } }
頁面以下:
關於咱們頁面下有二級路由
捐贈方式下添加了三級路由
路由的配置
先說一下路由的做用:
vue-router 的基本做用就是將每一個路徑映射到對應的組件,並經過修改路由進行組件間的切換。
常規路徑規則爲在當前 url 路徑後面加上 #!/path, path 即爲設定的前端路由路徑。
import Vue from 'vue' import Router from 'vue-router' import Home from '@/components/Home' import Admin from '@/components/Admin' import Login from '@/components/Login' import Menu from '@/components/Menu' import Register from '@/components/Register' import About from '@/components/about/About' //二級路由 import News from '@/components/about/News' import Contact from '@/components/about/Contact' import Donate from '@/components/about/Donate' import Guide from '@/components/about/Guide' //333級路由 import WechatDonate from '@/components/about/donate/WechatDonate' import AlipayDonate from '@/components/about/donate/AlipayDonate' Vue.use(Router) export default new Router({ routes: [ {path: '/',component: Home}, {path: '/menu',component: Menu}, {path: '/admin',component: Admin}, {path: '/about',component: About ,children :[ {path: '/about/news',component: News}, {path: '/about/contact',component: Contact}, {path: '/about/donate',component: Donate,children:[ {path: '/about/donate/wechat',component: WechatDonate}, {path: '/about/donate/alipay',component: AlipayDonate}, {path: '/about/donate*', redirect:'/about/donate/alipay'} ]}, {path: '/about/guide',component: Guide}, {path:'/about*',redirect:'/about/news'} ] }, {path: '/login',component: Login}, {path: '/register',component: Register}, {path: '*',redirect: '/'} ] })
路由中添加默認,用redirect重定向
router-link 指定跳轉
router-view 顯示
<template> <div> <div class="row mb-5"> <div class="col-4"> <!--導航---- ad浩豐科技奧德賽--> <div calss="list-group mb-5"> <router-link tag="li" class="nav-link" to="/about/news"> <a class="list-group-item list-group-item-action">最新新聞</a> </router-link> <router-link tag="li" class="nav-link" to="/about/contact"> <a class="list-group-item list-group-item-action">聯繫方式</a> </router-link> <router-link tag="li" class="nav-link" to="/about/guide"> <a class="list-group-item list-group-item-action">文檔指導</a> </router-link> <router-link tag="li" class="nav-link" to="/about/donate"> <a class="list-group-item list-group-item-action">捐贈方式</a> </router-link> </div> </div> <div class="col-8"> <!--導航對應的內容--> <router-view></router-view> </div> </div> </div> </template> <script> import News from '@/components/about/News' import Contact from '@/components/about/Contact' import Guide from '@/components/about/Guide' export default { components:{ News,Contact,Guide } } </script>
原文出處:https://www.cnblogs.com/qianjinyan/p/10899921.html