Vue笔记(六)vue-router

本文详细介绍了Vue.js的路由库vue-router的使用,包括基本路由、嵌套路由、路由传参、命名路由、params参数、props配置、编程式导航、路由组件缓存、生命周期钩子和路由守卫等核心概念。同时,讨论了hash模式与history模式的差异,为Vue.js的前端路由管理提供了全面的理解。
摘要由CSDN通过智能技术生成

目录

路由

基本路由

嵌套(多级)路由

路由传参

命名路由

路由的params参数

路由的props配置

编程式路由导航

缓存路由组件

两个新的生命周期钩子

路由守卫

独享守卫(只有前置,后置用全局守卫)

组件内路由守卫

路由器的两种工作模式


vue-router是vue的一个插件库,专门用来实现单页Web应用(single page web application,SPA),SPA整个应用只有一个完整的页面,点击页面中的导航链接不会刷新页面,只会做页面的局部更新,数据需要通过AJAX请求获取。

路由:

一个路由(route)就是一组映射关系(key-value),key为路径,value可能是function或component,多个路由需要路由器(router)管理。

分类:

1.后端路由:value是function,用于处理客户端提交的请求。当服务器收到一个请求时,根据请求路径找到匹配的函数来处理请求,返回响应数据。

2.前端路由:value是component,用于展示页面内容。当浏览器的路径改变时,对应的组件就会显示。

安装与vue2配套的版本:npm i vue-router@3

应用vue-router:Vue.use(VueRouter)

main.js

// 引入Vue
import Vue from 'vue';
// 引入App组件
import App from './App.vue';
// 引入VueRouter
import VueRouter from 'vue-router';
// 引入路由器
import router from './router'
Vue.config.productionTip = false;
// 应用VueRouter
Vue.use(VueRouter);
new Vue({
    el:'#app',
    // 将App组件放入容器中
    render:h=>h(App),
    router,
})

基本路由:

新建文件:

 编写router配置项:index.js

// 此文件专门用于创建整个应用的路由器
// 引入VueRouter
import VueRouter from 'vue-router'
// 引入组件
import About from '../components/About.vue'
import Home from '../components/Home.vue'
// 创建并暴露一个router实例对象
export default new VueRouter({
    routes:[
        {
            path:'/about',
            component:About
        },
        {
            path:'/home',
            component:Home
        }
    ]
})

App.vue

<template>
    <div>
        <div>Vue Router Demo</div>
        <div>
            <!-- 实现切换,active-class可配置高亮样式 -->
            <!-- router-link实质上还是a标签,所以给a标签写的样式也会应用到router-link -->
            <router-link to="/about">About</router-link>
            <router-link to="/home" active-class="active">Home</router-link>
        </div>
        <div>
            <!-- 指定组件的呈现位置 -->
            <router-view></router-view>
        </div>
    </div>
</template>
<script>
export default {
    name:'App',
}
</script>

路由组件Home.vue

<template>
  <h2>我是Home</h2>
</template>
<script>
export default {
    name:'Home',
}
</script>

路由组件About.vue

<template>
  <h2>我是About</h2>
</template>
<script>
export default {
    name:'About'
}
</script><
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值