Vue-Router

Vue-Router

Vue路由vue-router是官方的路由插件,能够轻松的管理 SPA 项目中组件的切换。Vue的单页面应用是基于路由和组件的,路由用于设定访问路径,并将路径和组件映射起来

vue-router 目前有 3.x 的版本和 4.x 的版本,vue-router 3.x 只能结合 vue2 进行使用,vue-router 4.x 只能结合 vue3 进行使用

安装:npm install vue-router@3/4

快速上手

在router/index.js初始化router

import VueRouter from "vue-router";
import Vue from "vue";
import Book from "@/components/Book";
import Music from "@/components/Music";

// 将VueRouter设置为Vue的插件
Vue.use(VueRouter)

const router = new VueRouter({
    routes: [
        {path:'/book', component: Book},
        {path:'/music', component: Music},
    ]
})

export default router

在main.js中导入router

import router from "@/router";
new Vue({
  render: h => h(App),
  router: router,
}).$mount('#app')

在其他文件中使用router

<template>
	<!--声明路由链接-->
	<router-link to="/book">书</router-link>
	<router-link to="/music">音乐</router-link>
	<!--声明路由占位符标签-->
	<router-view></router-view>
</template>

嵌套路由

只需要在一个路由后面加上children即可。

{path: '/book', component: Book, children: [
    {path: 'java', component: Java},
    {path: 'python', component: Python},
]},

Book组件中,必须也要有router-view

<template>
  <div>
  <h1>我是Book</h1>
    <router-link to="/book/java">java</router-link>
    <router-link to="/book/python">python</router-link>
    <router-view></router-view>
  </div>
</template>

如果没有的话,一个router-view是不可以渲染两个组件的,导致只能看到父亲组件

动态路由

就比如/image/1这样的路由,1是图片的id

<!--声明路由链接-->
<router-link to="/book">书</router-link>
<router-link to="/music">音乐</router-link>
<router-link to="/image/1">图片</router-link>
<!--声明路由占位符标签-->
<router-view></router-view>

router定义

const router = new VueRouter({
    routes: [
        {path:'/music', component: Music},
        {path:'/image/:id', component: Image}
    ]
})

组件中拿到id

<template>
  <h1>我是Image {{ $route.params.id }}</h1>
</template>

开启prop传递参数,方便我们更好的拿到参数

{path:'/image/:id', component: Image, props:true}
<template>
  <h1>我是Image {{ id }}</h1>
</template>

<script>
export default {
  name: "Image",
  props: ["id"]
}
</script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值