首页 > 其他分享 >vue(七)路由 vue-router

vue(七)路由 vue-router

时间:2023-07-06 20:35:20浏览次数:31  
标签:about vue const import router 路由

安装和使用

通过vue-router路由管理页面之间的关系,是Vue.js的官方路由

1、安装路由 npm install --save vue-router

2、配置路由文件 route/index.js

// 导入路由库
import {createRouter,createWebHashHistory} from "vue-router" 
// 导入静态页面
import Homeview from "../views/Homeview"

// 创建路由定义数组
const routes=[
    {
        path:"/",   // 指定路径
        name:"home",
        component:Homeview  //指定页面的组件
    },
    {
        path:"/about",
        name:"about",
        component: () => import ("../views/Aboutview") //异步加载,未使用就不加载,使用才加载
    }
]
// 创建路由
const router=createRouter({history:createWebHashHistory(),routes})

export default router;

         创建路由有两种方式 createWebHashHistory()createWebHistory()。区别如下:

// 路由后面带#,如 http://localhost:8080/#/about
// 不需要后端处理重定向
// 原理:a标签锚点链接
// 推荐
const router=createRouter({history:createWebHashHistory(),routes})

// 页面显示 http://localhost:8080/about
// 需要后端处理重定向,否则出现404
// 原理:H5的pushState()
// 不推荐
const router=createRouter({history:createWebHistory(),routes})

3、引入路由到项目,在main.js中添加配置

import router from './route'

const app= createApp(App)
app.use(router)

4、指定路由显示入口和路由跳转

<template>
    // 指定路由显示入口
  <RouterView></RouterView>
  // 指定路由跳转,to=route/index.js中定义的path
  <RouterLink to="/">首页</RouterLink>
  <RouterLink to="/about">关于页面</RouterLink>
</template>

路由传递参数

1、在路由配置中指定参数的key

const routes=[
    {
        path:"/about/:pageFrom", // :后设置参数 pageFrom
        name:"about",
        component:Aboutview
    }
]

2、在跳转过程中携带参数

<RouterLink to="/about/从首页来">关于页面</RouterLink>

3、读取参数

<P>{{$route.params.pageFrom}}</P>

嵌套路由配置

1、在路由配置中添加子路由配置

const routes=[
    {
        path:"/about",
        name:"about",
        redirect:"/about/1", //重定向默认页面,写全路径
        component:()=> import("../views/Aboutview.vue"),
        // 添加子路由
        children:[
            {
                path:"1", 
                component:()=>import("../views/aboutsub/about1.vue")
            },
            {
                path:"2",
                component:()=>import("../views/aboutsub/about2.vue")
            }
        ]
    }
]

2、在主页面中添加路由跳转

<template>
    <RouterView></RouterView>
    <RouterLink to="/about/1">关于1</RouterLink>
    <RouterLink to="/about/2">关于2</RouterLink>
</template>

 

标签:about,vue,const,import,router,路由
From: https://www.cnblogs.com/yjh1995/p/17533276.html

相关文章

  • 【vue-问题】vue : 无法加载文件 D:\Program Files\nodejs\node_global\vue.ps1,因
    【vue-问题】vue:无法加载文件D:\ProgramFiles\nodejs\node_global\vue.ps1,因为在此系统上禁止运行脚本。解决方法:①:管理员方式运行PowerShell,输入get-ExecutionPolicy。如果它回复Restricted,表示是禁止的②:输入:set-ExecutionPolicyRemoteSigned③:输入Y(也有可能不会询问,直......
  • vue(六)网络请求
    AxiosAxios是一个基于promise的网络请求库,安装npminstall--saveaxios局部引入:组件中引入importaxiosfrom"axios"全局引入:main.js中引入,并挂载//在main.js中全局引入importaxiosfrom"axios"//挂载到全局constapp=createApp(App)app.config.globalPrope......
  • vue(五)CSS样式添加
    Vue具有三种样式化应用程序的方法:外部CSS文件。单文件组件(.vue文件)中的全局样式。单文件组件中组件范围的样式。外部CSS导入外部CSS文件import"./assets/reset.css";单组件全局样式<style>/*全局样式*/.btn{padding:0.8rem1rem0.7rem;......
  • Vue router 路由
    路由跳转页面和路由模式vue的路由路由的文档https://v3.router.vuejs.org/zh/api/路由是干什么的==》就是来负责跳转页面...反正是和页面打交道的vue+router是单页面应用(SPA)解释一下“什么是”单页面:整个项目==》只有一个html文件缺点:不合适做SEO目前来说:后台管理......
  • 第十篇 - Vue接收后台Json数据
    先看下想达到的效果,当用户名密码输错了,就报用户名密码错误。用户名密码成功了,就跳转到登录成功页面上一节已经实现SpringBoot封装Json数据,这次使用VuepostAPI获取Json数据HelloWorld.vue/*eslint-disable*/<template><divclass="login_container"><divclass="......
  • vue 3教程
    创建项目create-vue创建vue3项目推荐,这个库也是官方进行维护的,所以使用起来无烦恼,yyds。执行方式也是比较简单的,我们可以基于vite创建vue3或者vue2的项目npminitvue@3npminitvue@2依次填写和选择下列选项✔Projectname:…vue3-train项目名称✔AddTypeScript?......
  • vue3 安装 3d-force-graph
    1.首先创建vue3的项目2.创建好后通过开发工具打开项目并打开命令行,输入指令npminstall 3d-force-graph安装即可3.在使用的页面中引入 3d-force-graph<!--官网的basic案例--><template><!--ref用于在组件中引用当前的DOM元素。--><divref="container"></div><......
  • vue3 虚拟dom与diff算法
    diff算法vue3diff算法原码地址:  https://github.com/vuejs/core1.diff算法主要是说renderer.ts中patchChildren这段代码逻辑,如下:  2.diff算法排序分为无key时diff算法排序逻辑和有key时diff算法排序逻辑2.1无key时diff算法排序逻辑,分为三步如下,如图1中无key......
  • 2.vue-charts组件
    1.vue-echarts和echarts的区别·vue-echarts是封装后的vue插件,基于EChartsv4.0.1+开发,依赖Vue.jsv2.2.6+,功能一样的只是把它封装成vue插件这样更方便以vue的方式去使用它。·echarts就是普通的js库。 2.vue-echarts特征·轻量,高效,按需绑定事件·支持按需导入E......
  • vue刷新页面时保持当前分页不变(使用本地存储保存页码)
    this.currentPage=1原本的代码是在页面构造时直接传入第一页的页码使得页面去读取第一页应有的数据。 解决思路:设置一个变量,用于保存每一次刷新前的页面页码数,页面构造函数里进行判断如果这个变量为空,那么说明是第一次加载页面,页面读取第一页数据。在需要刷新前将当前页码保......