一:什么是路由:
cnpm install vue-router -S
import Vue from "vue" import VueRouter from "vue-router"; import Movie from "../components/movie" import Cinema from "../components/cinema" import Mine from "../components/mine"; import HotMovie from "../components/hotmovie" import CommingMovie from "../components/commingmovie" import NotFound from "../components/NotFound" import Detail from "../components/detail" import Login from "../components/login" import MineTwo from "../components/mineTwo" Vue.use(VueRouter); //路由的配置 const router = new VueRouter({ mode:"hash", routes:[ { path:"/", redirect:"/movie" }, //一个对象代表一个路由的配置项 { name:"movie", meta:{ title:"电影", flag:true }, path:"/movie",//匹配用户请求的地址 component:Movie,//当路径匹配成功后显示对于的组件 // /movie/hotmovie children:[ { name:"hotmovie", path:"hotmovie", component:HotMovie }, { name:"commingmovie", path:"commingmovie", component:CommingMovie } ] }, { path:"/cinema",//匹配用户请求的地址 meta:{ title:"影院", flag:true }, component:Cinema//当路径匹配成功后显示对于的组件 }, { path:"/mine",//匹配用户请求的地址 meta:{ title:"我的", flag:false }, children:[ { path:"mineTwo/:id/:name", component:MineTwo } ], component:Mine//当路径匹配成功后显示对于的组件 }, { name:"detail", meta:{ title:"详情", flag:false }, //path:‘/detail/:id/:name‘, path:"/detail", component:Detail, //props:true }, { path:"/login", component:Login }, { path:"**", component:NotFound } ] }) export default router;
<template> <div id="app"> <router-view></router-view>//在此渲染组件 </div> </template> <script> export default { name:"App", created() { console.log(this) }, }; </script>
<template> <div id="footer"> <ul> <router-link :to="item.path" v-for="(item,index) in tabs" :key="index" tag="li" > <i class="iconfont" v-html="item.icon"></i> <span>{{item.text}}</span> </router-link> </ul> </div> </template>
<button @click="handleForward()">前进</button> <button @click="handleReplace()">替换</button> <button @click="handlego()">go1</button> //调用 methods:{ handleForward(){ this.$router.forward(); }, handleReplace(){ this.$router.replace("/mine"); }, handlego(){ this.$router.go(0) } }
原文:https://www.cnblogs.com/yuyu05-28/p/11467045.html