vue路由使用
1.安装vue路由
npm install vue-router
2.在src中新建router/index.js,引入vue路由
import Vue from 'vue'
import VueRouter from 'vue-router'//引入vue-router
Vue.use(VueRouter)
3.引入组件,并创建vue路由
*在这里,可以使用@进行引入,@相当于src目录
import Home from "../components/Home";
import header from "../components/Header";
import List from "@/components/List";//@相当于src目录
import footer from "../components/footer";
const routes=[
{path:"/",component:Home},//默认页
{path:"/header",component:header},
{path:"/List",component:List},
{path:"/footer",component:footer},
]
export default new VueRouter({
routes: routes,
mode:"history" //去掉地址栏的#号
})
4.在main.js中引入router/index.js
import router from "@/router/index";
new Vue({
el: '#app',
router:router,
components: { App },
template: '<App/>'
})
5.路由跳转
<router-link to="/">首页</router-link>
<router-view></router-view>
方法跳转,在methods中定义一个方法,通过事件执行
routerpush(){
this.$router.push({ path: '/List' })//路由跳转
// this.$router.go(1);//在 history 记录中向前或者后退多少步
// this.$router.replace({ path: '/List' })//路由跳转,但不会向history中添加记录
}
路由传参
1.params传参
路由配置
{path:"/List",
name:"分类",
components:List
},
父组件中:通过路由属性中的name来确定匹配的路由,通过params来传递参数。
this.$router.push({ name:"分类",params:{id:33} })
子组件中通过this.$route.params.id获取参数
2.query传参
路由配置
{path:"/List",
name:"分类",
components:List
},
父组件中:通过路由属性中的name来确定匹配的路由,通过query来传递参数。
this.$router.push({ name:"分类",query:{id:33} })
子组件中通过this.$route.query.id获取参数
*区别:query是把参数放在地址栏上,刷新不会消失,params不会把参数放在地址上,刷新后消失
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。