教程4 Vue3路由设置(Typescript版本)

实验 Vue3路由设置

一、任务目标:掌握vue3的路由配置方法
现有首页、注册、关于三个页面,请在首页中增加三个链接,可以各页面,如果不存在,显示NotFound页面。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、实验步骤

1、新建项目my-web

npm create vite@latest 

在这里插入图片描述

2、安装vue-router

cd .\my-web\
npm install vue-router

在这里插入图片描述

安装完成后在package.json中就会有vue-route:
在这里插入图片描述

3、删除src -> components原有组件

4、在src -> components下新增(Home.vue)

<template>
    <h1>我是主页</h1>
</template>

在这里插入图片描述

5、在src -> components下新增(Register.vue)

在这里插入图片描述

<template>
    <h1>用户注册</h1>
</template>

6、在src -> components下新增(About.vue)

在这里插入图片描述

<template>
    <h1>关于我们</h1>
</template>

7、在src -> components下新增(NotFound.vue)

<template>
    <h1>404</h1>
</template>

在这里插入图片描述

8、在src下新建文件夹router,并在其下新建index.ts:

import { createRouter, createWebHistory } from "vue-router";
import App from "../App.vue";
import Home from "../components/Home.vue";
import Register from "../components/Register.vue";
import About from "../components/About.vue";
import NotFound from "../components/NotFound.vue";

const routes = [
  { path: "/", name: "Home", component: Home },
  { path: "/register", name: "Register", component: Register },
  { path: "/about", name: "About", component: About },
  { path: '/:path(.*)', component: NotFound },
];

const router = createRouter({
  history: createWebHistory(),
  routes,
});
export default router;

9、修改App.vue,使用router-link标签跳转,实际上底层是通过a链接进行跳转。

<template>
  <div class="container">
    <div class="header">
      <ul class="p1">
        <li>
            <router-link to="/">主页</router-link>
        </li>
        <li>
            <!-- <router-link to="/register">注册</router-link> -->
            <a  href="/register">注册</a>
        </li>
        <li>
            <router-link to="/about">关于</router-link>
        </li>
      </ul>
    </div>
    <div class="content"><router-view /></div>
  </div>
</template>


<style>
* {
  margin: 0px;
  padding: 0px;
}
.container {
  width: 100%;
  height: 100%;
}
.header {
  width: 100%;
  height: 10%;
  padding-bottom: 200px;
}
.content {
  width: 100%;
  height: 90%;
  position: absolute;
  bottom: 0;
}
ul {
  list-style-type: none; /*清楚项目符号*/
}
li {
  margin: 0 2px; /*并列显示*/
  float: left;
}
/*鼠标经过超链接的样式*/
a:hover {
  color: #444;
  background: #f99; 
  border-color: #fff#aaa#aaa#fff;
}
a {
  /*完全清除超链接下划线效果*/
  text-decoration: none;
  border: solid 1px;
  padding: 0.4em 0.8em;
  color: green;
  background: transparent;
  border-color: #bbb#fff#fff#aaa;
  /*解决IE浏览器无法显示问题*/
  zoom: 1; 
}
</style>

10、修改main.ts

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


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

11、项目文件结构图

在这里插入图片描述

12、查看运行效果

npm run dev

在这里插入图片描述

打开链接http://127.0.0.1:5173/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值