Vue 安装 Vue-router 路由安装以及使用

vue-router 是 Vue 的一个插件库,适用于构建单页面应用。

单页面应用:整个应用中只有一个完整的页面,切换页面就是替换页面中的内容。

工作原理:当浏览器的路径发生改变时,路由器会自动显示路径所对应的组件。

嵌套路由:通过路由实现组件的嵌套展示,就叫做嵌套路由。

 一. Vue-router 安装及配置:

:由于 vue-router 4 及以上的版本只能在 vue3 中使用,所以我们需要安装 vue-router 3 的版本。

 安装指定版本:

npm install vue-router@版本号

安装最新版本:

 npm install vue-router

二、创建路由组件:

在 src 目录下创建 views 文件夹,并创建 Home.vue 和 About.vue 组件。

<template>
    <div>
        <h1>Home页面</h1>
        <router-link to="/about">前往About页面</router-link>
    </div>
</template>

<script>
export default {
    name: "Home"
}
</script>
<template>
    <div>
        <h1>About页面</h1>
        <router-link to="/">前往Home首页</router-link>
    </div>
</template>

<script>
export default {
    name: "About"
}
</script>

备注:router-link 标签类似于 a 标签,而 to 属性和 a 标签的 href 属性作用相似。

三、配置 Vue-router:

在 src 目录下创建 router 文件夹,并在文件夹内创建 index.js 文件,添加以下内容。

// 引入Vue核心库
import Vue from 'vue'
// 引入vue-router
import VueRouter from 'vue-router'
// 应用vue-router插件
Vue.use(VueRouter)

// 引入组件(方式一)
import Home from '../views/Home.vue'

// 配置路由
const routes = [
  {
	// 路径,/ 表示首页
    path: '/',
    // 使用组件(方式一)
    component: Home
  },
  {
	// 路径
    path: '/about',
    // 引入并使用组件(方式二)
    component: () => import('../views/About.vue')
  }
]

// 创建路由器
const router = new VueRouter({
  routes
})

// 导出路由器
export default router

引入组件的区别:

方式一:直接导入,就是在应用第一次执行时,就会加载这个文件。

import Home from '../views/Home.vue'
component: Home

方式二:路由懒加载,就是跳转到这个页面的时候,再去加载这个文件。

component: () => import('../views/About.vue')

四、引入 Vue-router:

在 main.js 文件中引入 router,并挂载到 vue 实例上

import Vue from 'vue'
import App from './App.vue'

// 1.引入vue-router
import router from './router'

Vue.config.productionTip = false

new Vue({
  // 2.挂载到vue实例上
  router,
  render: h => h(App)
}).$mount('#app')

五、设置路由出口:

在 App.vue 组件中设置 router-view 标签,指定组件呈现位置。

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

六、最终效果:

这样就配置好了,当点击链接时会修改浏览器的路径,从而显示对应的组件。

 

注意

  路由组件通常放在 views 文件夹内,而一般组件放在 components 文件夹内。

  跳转页面时,会先将当前组件销毁,再去加载新组件。

  每个组件都有自己的 $route 属性,里面存放着自己的路由信息。

  整个应用只有一个 $router 路由器,可以通过组件的 $router 属性获取。

原创作者:吴小糖

创作时间:2023.7.18

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/39240.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Redis的数据淘汰策略了解吗?

面试官&#xff1a;Redis数据淘汰策略了解吗&#xff1f; 我&#xff1a;知道。嗯~~ 当Redis中的内存不够用时&#xff0c;此时再向Redis中添加新的key&#xff0c;Redis就会按照某种规则将内存中的数据删除掉。这种数据的删除规则被称为内存的淘汰策略。 面试官&#xff1a;…

JAVA开发(记一次504 gateway timeout错误排查过程)

一、问题与背景&#xff1a; 最近在发布一个web项目&#xff0c;在测试环境都是可以的&#xff0c;发布到生产环境通过IP访问也是可以的&#xff0c;但是通过域名访问就出现504 gateway timeout。通过postman去测试接口也是一样。ip和端口都可以通&#xff0c;域名却不行&…

C#List转IList方法

最近工作中使用到了C#的List和IList。 这里参考百度上的资料&#xff0c;总结一下。 IList使用命名空间&#xff1a; using System.Collections; List<T>类:表示可通过索引访问的对象的强类型列表&#xff0c;提供用于对列表进行搜索、排序和操作的方法。 IList<T&…

3.10 Bootstrap 标签

文章目录 Bootstrap 标签标签 Bootstrap 标签 下面将讲解 Bootstrap 标签。标签可用于计数、提示或页面上其他的标记显示。使用 class .label 来显示标签&#xff0c;如下面的实例所示&#xff1a; <span class"label label-default">Label</span></…

Docker 应用容器引擎 (一)

Docker 应用容器引擎 Docker是什么 是一个开源的应用容器引擎&#xff0c;基于GO语言开发并遵循了apache2.0协议开源 是在linux容器里运行应用的开源工具 是一种轻量级的“虚拟机” Docker的容器技术可以在一台主机上轻松为任何应用创建一个轻量级的、可移植的、自给自足的…

23款奔驰S400豪华型升级4D旋转高音,提升车内氛围

奔驰加装4D旋转高音&#xff0c;让高音“有型有色”,高端4D环绕立体声音响系统的视觉效果同样令人印象深刻&#xff1a;系统启动时&#xff0c;安装在前车门后视镜三角板中的两个高音头会与同色车内氛围灯一块亮起&#xff0c;同时向外旋出10mm至最佳效果位置&#xff0c;以提高…

阿里云声音复刻

阿里云声音复刻 个性化人声定制 阿里云个性化人声定制是智能语音交互产品自学习平台下的一部分 使用方式&#xff1a;https://help.aliyun.com/document_detail/456006.html 方式一&#xff1a;控制台界面定制使用方式 方式二&#xff1a;通过OpenAPI定制&#xff1a;在该页…

matplotlib从起点出发(1)_Tutorial_1

0 系列简介 这个系列&#xff0c;小白从起点出发开始整理matplotlib库的基本使用及相关技巧。小白的主要思路是沿着官网的tutorials先学习matplotlib的基础功能&#xff0c;然后针对官网总结的Cheat Sheets及其中的知识点查漏补缺。作为一个工具库&#xff0c;小白认为只要能够…

NodeJS实现支付宝沙箱支付②③

文章目录 前言版权声明Alipay SDK 沙箱环境简介Node环境要求沙箱环境配置下载所需模块准备前端静态页面以及Node服务器文件夹规范AlipaySdk 配置准备AlipaySdk 代码演示 Alipay实例化 ~ alipay.sdk 文件 AlipayForm ~ alipayForm文件 AlipayFormStatus ~ alipayForm文件 …

长城汽车Hi4技术品牌成果初现,大象转身必将势不可挡

今年1-6月&#xff0c;长城汽车销售52万辆&#xff0c;新能源车型销售9.3万辆&#xff0c;同比增长47%&#xff1b;智能新能源新产品密集上市&#xff0c;新能源销量与占比逐月攀升&#xff0c;6月销售超2.6万辆&#xff0c;占比突破25%&#xff0c;皆创历史新高&#xff1b; 全…

智慧数据驱动:基于smardaten构建多维数据可视化大屏

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

【uni-app】常用图标、头像汇总

在做小程序的时候&#xff0c;有时候需要各种图标和头像素材&#xff0c;而百度一堆基本都是收费的。所以&#xff0c;整理一些免费好用的图标&#xff0c;头像库&#xff1a; 1、iconfont-阿里巴巴矢量图标库 基本上常用的矢量图标&#xff0c;在这儿都有&#xff0c;而且可…

【极简 亲测】已拦截跨源请求:同源策略禁止读取位于....的远程资源。(原因:CORS 头缺少 ‘Access-Control-Allow-Origin‘)

CORS是Cross-Origin Resource Sharing。 解决 首先这个是浏览器层面的拦截。下面的方法都是解除浏览器拦截的方式。 解除了之后还是有可能其他方面有问题的&#xff0c;但是那个会提示其他错误。 比如CORs Failed之类的&#xff0c;这个是没收到response&#xff0c;大概率是…

【go】xorm分类统计及多表联查

文章目录 1 分类统计2 多表联查 1 分类统计 1 sql SELECT grade_protection_level AS type, count(grade_protection_level) AS count FROM vital_7jvebmrryff3_asset WHERE (field_group 应用信息)AND (asset_life_cycle 正式)AND (status 1) GROUP BY grade_protection…

微服务系列文章 之SpringBoot之定时任务详解

序言 使用SpringBoot创建定时任务非常简单&#xff0c;目前主要有以下三种创建方式&#xff1a; 一、基于注解(Scheduled)二、基于接口&#xff08;SchedulingConfigurer&#xff09; 前者相信大家都很熟悉&#xff0c;但是实际使用中我们往往想从数据库中读取指定时间来动态…

实现 Rollup 插件alias 并使用vitest提高开发效率

本篇文章是对 实现 Rollup 插件 alias | 使用 TypeScript 实现库的基本流程 | 使用单元测试提高开发效率 的总结。其中涉及到开发一个组件库的诸多知识点。 实现一个经常用的 rollup 插件 alias 首先执行npm init命令初始化一个package.json文件&#xff0c;因为插件使用了ty…

【ARM Cortex-M 系列 1 -- Cortex-M0, M3, M4, M7, M33 差异】

文章目录 Cortex-M 系列介绍Cortex-M0/M0 介绍Cortex-M3/M4 介绍Cortex-M7 介绍Cotex-M33 介绍 下篇文章&#xff1a;ARM Cortex-M 系列 2 – CPU 之 Cortex-M7 介绍 Cortex-M 系列介绍 Cortex-M0/M0 介绍 Cortex-M0 是 ARM 公司推出的一款微控制器&#xff08;MCU&#xff0…

AIGC之文本内容生成概述(下)——Transformer

在上一篇文章中&#xff0c;我们一口气介绍了LSTM、Word2Vec、GloVe、ELMo等四种模型的技术发展&#xff0c;以及每种模型的优缺点与应用场景&#xff0c;全文超过一万字&#xff0c;显得冗长且繁杂&#xff0c;在下文部分我们将分开介绍Transformer、BERT、GPT1/GPT2/GPT3/Cha…

职责链模式:如何实现可灵活扩展算法的敏感信息过滤框架?

今天&#xff0c;我们主要讲解职责链模式的原理和实现。除此之外&#xff0c;我还会利用职责链模式&#xff0c;带你实现一个可以灵活扩展算法的敏感词过滤框架。下一节课&#xff0c;我们会更加贴近实战&#xff0c;通过剖析Servlet Filter、Spring Interceptor来看&#xff0…

K12351 生日日期

题解目录 K12351 生日日期题目描述输入格式输出格式解题思路解题思路2&#xff08;未编写&#xff09;示例代码 其他题解&#xff1a;思维拓展题目描述正确答案 K12351 生日日期 题目描述 小科的生日是YY年MM月DD日&#xff0c;他想知道自己出生第10000天纪念的日期&#xff…