首页 > 其他分享 >简单上手 Vue Router

简单上手 Vue Router

时间:2022-09-27 11:35:27浏览次数:53  
标签:vue import 简单 component Vue router Router path 路由

Vue Router 也随着 Vue3 的更新来到了 4 版本,来看一下怎么使用吧!(这里使用的是 composition APITypeScript 模式)

安装 vue-router4

npm install vue-router@4

/src 下新建 router/index.ts

import {
    createRouter,
    createWebHashHistory,
    createWebHistory,
    RouteRecordRaw
} from 'vue-router'

const routes:Array<RouteRecordRaw> = [...]

const router = createRouter({
    history: createWebHashHistory(),
    /*
     * 如果配置的是 createWebHashHistory 则浏览器地址栏所
     *  显示的路径中会带有 "#" 号
     * 如果使用 createWebHistory 则不会出现
     */
    routes
})

export default router

routes 里面配置的是路由数组

以下是我的路由数组


const routes:Array<RouteRecordRaw> = [
    {
        path: '/',
        component: () => import('@/components/IndexPage.vue'),
    },
    {
      path: '/login',
        component: () => import('@/components/LoginPage.vue')
    },
    {
        path: '/:pathMatch(.*)*',
        name: 'NotFound',
        component: () => import('@/components/404.vue')
    }
]

路径里的 @ 符代表 src 路径,可以参考以前的文章,最后一个路由的 path 内的内容表示未匹配的路径

配置子路由


    {
        path: '/',
        component: () => import('@/components/IndexPage.vue'),
        children: [
            {
                path: '/',
                component: () => import('@/components/page/OneSubPage.vue')
            },
            {
                path: '/two-sub-page',
                component: () => import('@/components/page/TwoSubPage.vue')
            }
        ]
    },

这里给 IndexPage 下的页面放置了两个子页面,分别为 OneSubPageTwoSubPage,配置子路由的方式基本和一级路由一样。

main.ts 中注册路由

main.ts 是我们整个项目的入口文件

import { createApp } from 'vue'
import App from './App.vue'
import router from '@/router'

createApp(App).use(router).mount('#app')

App.vue 中配置 router-view

<template>
  <router-view></router-view>
</template>

这里只写了几个简单的页面来展示路由功能,具体代码就不放了

标签:vue,import,简单,component,Vue,router,Router,path,路由
From: https://www.cnblogs.com/hhsk/p/16733947.html

相关文章

  • Vue+Echarts--父组件+子组件(基础)
    基本的思路就是:在父组件获取后端数据,然后传到子组件,子组件创建图表进行展示。1、获取后端数据 2、将数据传给子组件,并将子组件引入到父组件  3、子组件接收数......
  • vscode运行vue项目(vscode插件安装)
    vetureslinAutoCloseTagAutoRenameTagDebuggerforChromeopeninbrowserJavaScript(ES6)codesnippetsPathIntellisenseBracketPairColorizerBetterC......
  • vue学习笔记(六):EL组件库学习
    安装Element-uinpmielement-ui在main.js中插入引用项importElementfrom'element-ui'import'element-ui/lib/theme-chalk/index.css'在newVue之前插入引用......
  • Vue3之script-setup全面解析(转载)
    可能很多同学(包括我)刚上手Vue3.0之后,都会觉得开发过程似乎变得更繁琐了,Vue官方团队当然不会无视群众的呼声,如果你基于脚手架和.vue文件开发,那么可以享受到更高效率......
  • CSS实现一个简单的聊天气泡
    问题描述:想实现一个聊天气泡框时需要一个突出的尖角,于是想到了借助伪元素来实现实现目标:实现一个可以动态变长的聊天气泡(如图所示)   实现过程:版本一:使用absout+......
  • C# WinForm国际化实现的简单方法
    本文是完善:https://www.jb51.net/article/45675.htm文章描述很详细,重要的代码都贴出来了我帮大家懒到家,将窗口代码和资源文件也传上来到手可运行,直观的了解多语......
  • vue项目中使用高德地图搜索定位
    实现vue项目中展现地图(这里用的是高德地图),并且有搜索框根据搜索的位置定位注册帐号访问高德地图开发平台根据实际情况填写就可以......
  • Avue 常见问题 (工作总结)
    vaildData验证对象验证是否为空的任何类型数据,为空择取默认的设置值varobj={}console.log(this.vaildData(obj,'默认值'))//默认值console.log(this.vaildD......
  • vue使用axios请求c#mvc时显示跨域错误
    解决方法如果允许整个站点对外的跨域访问,则可以在改接口的网站mvc的web.config文件中对允许跨域访问的域名进行设置,如果不指定具体域名,可在<system.webServer></system.w......
  • vuex从后端获取data
    //store.jsimport{createStore}from"vuex";importaxiosfrom"axios";conststore=createStore({state(){return{merchants:[]......