首页 > 其他分享 >【前端VUE】Vue3路由设置(Typescript版本)

【前端VUE】Vue3路由设置(Typescript版本)

时间:2023-11-25 23:12:31浏览次数:41  
标签:Register VUE Vue3 Typescript vue components router import path

新建项目

npm create vite@latest

安装vue-router

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

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

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

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

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

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

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

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

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

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

import { createRouter, createWebHistory } from 'vue-router'
import Home from '../components/Home.vue'
import Register from '../components/Register.vue'
import About from '../components/About.vue'
import NotFound from '../components/404.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(process.env.BASE_URL),
  routes
})

export default router

修改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>

修改main.ts

import { createApp } from 'vue'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import App from './App.vue'
import router from './router'

const app = createApp(App)

app.use(ElementPlus)
app.use(router)
app.mount('#app')

运行项目
npm run dev

查看效果


注意

如出现以下报错

在vue.config.js中添加

const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
  transpileDependencies: true,
  lintOnSave: false
})

标签:Register,VUE,Vue3,Typescript,vue,components,router,import,path
From: https://www.cnblogs.com/fuchangjiang/p/17856311.html

相关文章

  • Vue项目的创建、运行与端口号修改
    前言:Vue-cli是Vue官方提供的一个脚手架,用于快速生成一个Vue的项目模板,依赖于NodeJS环境NodeJS下载:NodeJS安装下载Vue-cli下载:Vue-cli下载一.Vue图形化创建项目1.建立一个文件夹,保存Vue项目2.在该文件夹的目录上输入cmd打开命令行3.令行输入vueui打开Vue项目管理......
  • 【前端VUE】Vue3条件渲染指令(v-if、v-else、v-else-if、v-show、v-for)
    新建项目npmcreatevite@latest运行项目cd项目目录npminstallnpmrundev条件渲染指令1、v-ifv-if指令用于条件性地渲染一块内容。这块内容只会在指令的表达式返回真值时才被渲染。2、v-else可以使用v-else为v-if添加一个“else区块”。3、v-else-ifv-else......
  • vue 根据js的变量来设置css 里面的属性的属性值
    1.通过动态绑定style,声明css变量"--fontColor",把变量”fontColor”赋给“--fontColor”2.在css中使用var函数读取“--fontColor”变量点击查看代码<template><divclass="wen_style":style="{'--fontColor':fontColor}">当前字体的颜色......
  • Vue3 - Teleport 传送门
    前言对比Vue2,引出并展开Vue3。本文讲述了Teleport传送门是什么,以及使用方法和代码示例。介绍学过React的同学可能知道,Portal也提供了一种将子节点渲染到存在于父组件以外的DOM节点的优秀方案,当然咱们大名鼎鼎的Vue3也做到了,关于这方面的功能需求,第三方库也是有......
  • vue脚手架的练习1
    <template><divclass="project"><first-page></first-page><second-page></second-page></div></template><script>importFirstPagefrom'./FirstPage1.vue'importSecon......
  • Java基于协同过滤算法开发的springboot+vue服装商城
    演示视频https://www.bilibili.com/video/BV1oH4y127fq/?share_source=copy_web&vd_source=11344bb73ef9b33550b8202d07ae139b主要功能:用户可以浏览商品和特价商品,加入购物车,直接下单支付,在我的个人中心里可以管理自己的订单,收货地址,编辑资料等。管理员可以发布商品,上下架商品,处......
  • vue font awasome 的使用
    fontawasome是一个很经典的图标库。目前已经更新到了V6版本。但是从V5开始,这个库就已经闭源收费了。所以开源库里面最新版本是V4.7。https://www.npmjs.com/package/font-awesome/v/4.7.0 那么怎么使用呢?main.jsimportVuefrom'vue'importAppfrom'./App.vue'i......
  • vue ztree 的使用
    ztree是一个很经典的基于jquey开发的树结构编辑展示UI组件库。https://gitee.com/zTree/zTree_v3 gitee上有一个很适合vue使用的ztree封装库,https://gitee.com/astinlee_admin/Vue-Giant-Tree/tree/master 但是这个库有个问题。打包后的代码引入到项目中会报错。怎么办......
  • 前端框架vue路由hash模式与history模式的区别
    hash模式会在页面初始化的时候,url后面会带上/#的hash值,后面是路由组件加携带参数,缺点是看起来不太美观,但相比于history模式来说,它具有用户在页面各种点击操作后,点击刷新后数据不丢失,也不会出现网络报错。而history模式优点是能让整个url看起来比较简洁美观,但问题就是项目部署上线......
  • Vue
    vue官网:https://cn.vuejs.org/一、Vue概述1.Vue简介 Vue是一个渐进式(真正用到才引用)的JavaScript框架与其它大型框架不同的是,Vue被设计为可以自底向上逐层应用。Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,与现代化的工具以及各种支持......