5.10 Vue配置路由(vue-router)

这篇具有很好参考价值的文章主要介绍了5.10 Vue配置路由(vue-router)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、 路由vue-router概述

官方网站:https://v3.router.vuejs.org/zh/installation

  • Vue Router 是 Vue.js 官方提供的一种路由管理工具,它可以帮助开发者管理 Vue.js 应用程序的路由,并实现路由跳转、参数传递、嵌套路由等功能。Vue Router 可以将一个单页面应用分成多个视图,在不同的路由之间进行切换,从而实现了应用程序的多页面效果。
  • Vue Router 的核心是路由器(router),路由器负责监听变化并解析 URL,并指导应用程序渲染正确的组件,并在组件之间进行切换。除此之外,Vue Router 还支持动态路由、命名路由、路由重定向、路由拦截、路由嵌套等高级功能。
  • Vue Router 的使用非常简单,只需要定义路由组件,配置路由表,创建路由实例,并将其挂载到 Vue 实例上即可。在模板中使用 组件来生成导航链接,使用 来显示匹配到的视图组件。

二、 配置步骤

如果还没有vue环境,可以参照这篇文章搭建:
5.9 使用Vue CLI创建VUE项目

1. 安装 Vue Router

在使用 Vue Router 之前,你需要先安装它。可以通过 npm 命令行来安装:

# 通过npm安装最新版本的vue-router
npm install vue-router

# 如果你使用的是Vue CLI创建的项目,可以在项目根目录下运行以下命令安装vue-router:
npm install vue-router --save

# 如果你想要使用某个特定版本的vue-router,可以运行以下命令:
npm install vue-router@版本号
例如:npm install vue-router@3.2.0

在这里我们安装3.2.0版本的

终端命令:
npm install vue-router@3.2.0

5.10 Vue配置路由(vue-router)

2. 安装确认

  1. 确认vue-router版本

    终端命令:
    npm list vue-router

    5.10 Vue配置路由(vue-router)

  2. 确认package.json文件有vue-router依赖追加

    5.10 Vue配置路由(vue-router)

    {
      "name": "vue_demo",
      "version": "0.1.0",
      "private": true,
      "scripts": {
        "serve": "vue-cli-service serve",
        "build": "vue-cli-service build"
      },
      "dependencies": {
        "core-js": "^3.8.3",
        "register-service-worker": "^1.7.2",
        "vue": "^2.6.11",
        "vue-router": "^3.2.0"
      },
      "devDependencies": {
        "@vue/cli-plugin-babel": "~5.0.0",
        "@vue/cli-plugin-pwa": "~5.0.0",
        "@vue/cli-service": "~5.0.0"
      },
      "browserslist": [
        "> 1%",
        "last 2 versions",
        "not dead",
        "not ie 11"
      ]
    }
    
    

2. 引入vue-router并使用

  1. 在src路径下新建router文件夹和router.js文件(方便路由管理)

    5.10 Vue配置路由(vue-router)

  2. router.js引入并配置路由表

    import Router from 'vue-router'
    import Vue from 'vue'
    import Home from '../views/Home.vue'
    import About from '../views/About.vue'
    import NotFound from '../views/NotFound.vue'
    
    Vue.use(Router)
    
    // 防止跳转同一路径出异常
    const originalPush = Router.prototype.push
    Router.prototype.push = function push(location, onResolve, onReject) {
      if (onResolve || onReject) return originalPush.call(this, location, onResolve, onReject)
      return originalPush.call(this, location).catch(err => err)
    }
    
    const router = new Router({
      mode: 'history', // 可以使用HTML5历史记录,去掉URL中的#
      routes: [
        {
            path: '/',
            name: 'home',
            component: Home
          },
          {
            path: '/about',
            name: 'about',
            component: About
          },
          {
            path: '/notFound',
            name: 'notFound',
            component: NotFound
          }
      ]
    })
    
    export default router
    
    

3. 注入router

  1. mian.js文件中注入router
    5.10 Vue配置路由(vue-router)

    import Vue from 'vue'
    import App from './App.vue'
    import './registerServiceWorker'
    
    import router from './router/router.js'
    
    new Vue({
        router, // 注入 router 实例
        render: h => h(App),
      }).$mount('#app')
    
    

4. 新建视图文件夹和文件

5.10 Vue配置路由(vue-router)

  1. About.vue

    5.10 Vue配置路由(vue-router)

    <template>
      <div>About</div>
    </template>
    
    <script setup></script>
    
    <style lang="scss" scoped></style>
    
    
  2. Home.vue

    5.10 Vue配置路由(vue-router)

    <template>
      <div>Home</div>
    </template>
    
    <script setup></script>
    
    <style lang="scss" scoped></style>
    
    
  3. NotFound.vue

    5.10 Vue配置路由(vue-router)

    <template>
      <div>NotFound</div>
    </template>
    
    <script setup></script>
    
    <style lang="scss" scoped></style>
    
    

5. 在模板中使用路由

  1. 方式一:App.vue

    5.10 Vue配置路由(vue-router)

    <template>
      <div>
        <div id="app">
          <router-view></router-view>
        </div>
        <div>
          <button @click="changeView1">to_home</button>
          <button @click="changeView2">to_about</button>
          <button @click="changeView3">notFound</button>
        </div>
      </div>
    </template>
    
    <script>
    export default {
      name: "App",
      components: {},
      methods: {
        changeView1: function () {
          this.$router.push({
            name: "home",
          });
        },
        changeView2: function () {
          this.$router.push({
            name: "about",
          });
        },
        changeView3: function () {
          this.$router.push({
            name: "notFound",
          });
        },
      },
    };
    </script>
    
    <style></style>
    
    
  2. 启动项目:

    5.10 Vue配置路由(vue-router)

    5.10 Vue配置路由(vue-router)

    5.10 Vue配置路由(vue-router)

    5.10 Vue配置路由(vue-router)

  3. 方式二:App.vue

    5.10 Vue配置路由(vue-router)

    <template>
      <div id="app">
        <nav>
          <router-link to="/">首页</router-link>
          <br />
          <router-link to="/about">关于我们</router-link>
          <br />
          <router-link to="/notFound">啥玩意没有</router-link>
        </nav>
        <hr />
        <router-view></router-view>
      </div>
    </template>
    
    

    5.10 Vue配置路由(vue-router)

    5.10 Vue配置路由(vue-router)

    5.10 Vue配置路由(vue-router)文章来源地址https://www.toymoban.com/news/detail-481854.html

到了这里,关于5.10 Vue配置路由(vue-router)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 路由vue-router

    路由(英文:router)就是 对应关系 SPA 指的是一个 web 网站只有 唯一的一个 HTML 页面 ,所有组件的展示与切换都在这唯一的一个页面内完成。 此时,不同组件之间的切换需要通过前端路由来实现。 结论: 在 SPA 项目中,不同功能之间的切换 ,要依赖于 前端路由 来完成!

    2024年02月07日
    浏览(43)
  • 【Vue-Router】路由入门

    路由(Routing)是指确定网站或应用程序中特定页面的方式。在Web开发中,路由用于根据URL的不同部分来确定应用程序中应该显示哪个内容。 构建前端项目 安装依赖和路由 3. router 使用 login.vue reg.vue index.ts App.vue main.ts router-view 补充: router-view 是Vue Router提供的一个组件,用于

    2024年02月13日
    浏览(39)
  • vue-router路由守卫

    在我们使用vue-router的时候,路由守卫就像监听器、拦截器一样,帮我们做一些鉴权等操作,vue中的路由守卫分为全局路由守卫、独享路由守卫、组件内的路由守卫 全局路由守卫 : beforeEach、 afterEach 组件独享路由守卫 :beforeEnter、 beforeLeave 组件内路由守卫 :beforeRouteEnter、

    2024年02月11日
    浏览(38)
  • vue3使用vue-router嵌套路由(多级路由)

    Vue3 嵌套路由的使用和 Vue2 相差不大,主要的区别是 Vue3 的路由实例化使用了 createApp() 方法,所以实例化路由时需要传入根组件。另外,Vue3 的路由对象除了包含 Vue2 中的导航守卫、导航钩子和解析守卫等功能外,还新增了 meta prop 和 route prop。 在使用嵌套路由时,建议将路由

    2024年02月03日
    浏览(51)
  • Vue3 Vue-Router详解 Vue3配置hash 和 history路由、Vue3封装的路由hook函数(useRouter,useRoute)的使用 路由懒加载、路由分包处理、魔法注释的使用

     html部分 js部分  html页面使用路由传来的参数  获取router跳转id 获取 路由跳转错误地址

    2024年02月11日
    浏览(45)
  • vue-router路由模式详解

    目录 一. vue-router(前端路由)有两种模式,hash模式和history模式 二、路由模式解析 三、两种模式的区别 1、hash模式  2、history路由 (3)popstate实现history路由拦截,监听页面返回事件 一. vue-router(前端路由)有两种模式,hash模式和history模式 1.hash 就是指 url 后面的 # 号以及后

    2024年02月03日
    浏览(71)
  • vue-router(路由)详细教程

    路由是一个比较广义和抽象的概念,路由的本质就是 对应关系 。 在开发中,路由分为: ​ 后端路由 ​ 前端路由 后端路由 概念:根据不同的用户 URL 请求,返回不同的内容 本质:URL 请求地址与服务器资源之间的对应关系 [外链图片转存失败,源站可能有防盗链机制,建议将

    2024年02月04日
    浏览(77)
  • 【Vue-Router】路由传参

    list.json login.vue reg.vue App.vue index.ts reg.vue item?.name ,item?.price ,item?.id ,他们如果不使用可选链操作符会出现报错: \\\'__VLS_ctx.item\\\' is possibly \\\'undefined\\\'. login.vue 注意: 传递 params 参数时,若使用 to 的对象写法,必须使用 name 配置项,不能用 path 。 传递 params 参数时,需要提前在规

    2024年02月13日
    浏览(39)
  • vue-router路由懒加载

    路由懒加载指的是打包部署时将资源按照对应的页面进行划分,需要的时候加载对应的页面资源,而不是把所有的页面资源打包部署到一块。避免不必要资源加载。(参考vue项目实现路由按需加载(路由懒加载)的3种方式_小胖梅的博客-CSDN博客_vue懒加载 ) 这里有三种方式可以

    2023年04月08日
    浏览(42)
  • Vue3的vue-router路由详解

    这篇文章是接着【三分钟快速搭建Vue3+webpack项目】的内容做的开发,有基础的可以跳过 【三分钟快速搭建Vue3+webpack项目】,直接看以下的内容。 Vue3的vue-router路由详解: 首先安装路由依赖模块: 所需代码文件如下图: 图1   所需要的主要文件: index.html、index.js、App.vue in

    2024年02月01日
    浏览(65)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包