vue——路由

news2025/1/20 1:45:12

目录

一、介绍路由

1、路由是什么

Vue Router 是 Vue.js 的官方路由。它与 Vue.js 核心深度集成,让用 Vue.js 构建单页应用变得轻而易举。

2、为什么要使用路由

3、主要用途

二、安装路由

1、安装命令

2、配置文件

3、在main.js 中进行挂载

三、案例展示

1、案例效果

2、代码展示

3、内容补充

4、几个注意点


一、介绍路由

1、路由是什么

Vue路由是指根据url分配到对应的处理程序;作用就是解析URL,调用对应的控制器(的方法,并传递参数)。Vue路由有助于在浏览器的URL或历史记录与Vue组件之间建立链接,从而允许某些路径渲染与之关联的任何一个视图。

官方说法:

Vue Router 是 Vue.js 的官方路由。它与 Vue.js 核心深度集成,让用 Vue.js 构建单页应用变得轻而易举。

2、为什么要使用路由

在传统的web开发中每一个请求地址都会请求服务器来进行处理,但是用户有些操作则无需请求服务器,直接页面端修改下逻辑就能达到目的,在这种方式下最好的方法是使用路由,因为使用路由时,URL会随着改变,用户浏览一个网页时可以直接复制或收藏当前页面的URL给别人,这种方式对于搜索引擎和用户来说都是友好的

3、主要用途

多应用于spa(single page web application)
单页Web应用(single page web application,SPA),就是只有一张Web页面的应用。单页应用程序 (SPA) 是加载单个HTML 页面并在用户与应用程序交互时动态更新该页面的Web应用程序。浏览器一开始会加载必需的HTML、CSS和JavaScript,所有的操作都在这张页面上完成,都由JavaScript来控制。因此,对单页应用来说模块化的开发和设计显得相当重要。

二、安装路由

1、安装命令

npm i vue-router@3 

这里需要注意一下,我们的脚手架是有2和3版本的,同样,路由也有不同的版本,现在主要用的是3和4版本,如果我们是vue2的话那就装路由3版本,vue3的话就装4版本。

2、配置文件

(1)我们需要在我们创建的项目中的src根目录创建router目录,在目录中创建                        index.js, 该文件专门用于创建整个应用的路由器

在这文件中写入以下代码

(2)引入vue

        import Vue from 'vue';

(3)导入vue-router

        import VueRouter from 'vue-router'

(4)应用插件

        Vue.use(VueRouter)

(5)创建router规则对象

        const routes = [

        ]

(6)创建router

        const router = new VueRouter({

        routes

        })

(7)导出router

        export default router

3、在main.js 中进行挂载

import Vue from 'vue'
import App from './App.vue'
import router from './router'     //引入router
// Vue.config.productionTip = false

new Vue({
  render: h => h(App),
  router                 //挂载router
}).$mount('#app')

当准备好这些,我们就可以开始写我们的代码咯

三、案例展示

(本案例是来自于尚硅谷vue教程中的案例,感兴趣的小伙伴可以去小破站搜索相关视频学习哦)

1、案例效果

 

根据上面的动态图展示,我不知道小伙伴们有没有发现不同之处,就是我的页面一直在随着我鼠标点击而进行变化,但是并没有进行跳转页面的操作,之前我们实现这样的效果,页面都会刷新和跳转,这就是路由单。页面的好处,不需要一直去加载,去请求,在页面上就能完成跳转。

2、代码展示

App.ve页面h

<template>
   <div>
    <div class="row">
      <Banner/>
    </div>
    <div class="row">
      <div class="col-xs-2 col-xs-offset-2">
        <div class="list-group">
          <router-link class="list-group-item" active-class="active" to="./about">About</router-link>
          <router-link class="list-group-item " active-class="active" to="./home">Home</router-link>
        </div>
      </div>
      <div class="col-xs-6">
        <div class="panel">
          <div class="panel-body">
            <!-- 指定组件呈现的位置 -->
            <router-view></router-view>
          </div>
        </div>
      </div>
    </div>
  </div>
</template>

<script>
import Banner from './components/Banner'
export default {
  name: 'App',
  components: {
    Banner
  }
}

Home组件

<template>
  <h2>我是Home的内容</h2>
</template>

<script>
    export default {
        name:'Home',
    }
</script>

About组件

<template>
  <h2>我是About的内容</h2>
</template>

<script>
    export default {
        name:'About',
    }
</script>

最最最最重要的文件来了,那就是我们router下面的index.js 文件

import Vue from 'vue';
//导入vue-router
import VueRouter from 'vue-router'
// 引入组件
import About from '../pages/About'
import Home from '../pages/Home'
//应用插件
Vue.use(VueRouter)

//创建router规则对象
const routes = [
]
//创建router
const router = new VueRouter({
	routes:[
        {path:'/about',component:About },
        {path:'/home',component:Home}
    ]
})

//导出router
export default router

3、内容补充

在代码中我们能看到几个陌生的组件,那他们都是什么意思呢,不要着急,我一个一个来为大家解释

<router-link> 组件支持用户在具有路由功能的应用中 (点击) 导航。 通过 to 属性指定目标地址,默认渲染成带有正确链接的 <a> 标签,可以通过配置 tag 属性生成别的标签.。另外,当目标路由成功激活时,链接元素自动设置一个表示激活的 CSS 类名。

active-class是vue-router模块的router-link组件中的属性,用来做选中样式的切换;就比如我们案例中的点击的时候背景颜色的切换

<router-view>指定展示位置,就是我们路由组件的展示位置

4、几个注意点

(1)路由组件通常存放在pages文件夹,一般组件通常存放在components文件夹。

(2)通过切换,“隐藏”了的路由组件,默认是被销毁掉的,需要的时候再去挂载。

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

(4)整个应用只有一个router,可以通过组件的$router属性获取到。

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux服务器配置与管理(基于Centos7.2)任务目标(五)

文章目录一、知识目标二、能力目标二、任务实施任务一&#xff1a;安装Apache任务二&#xff1a;配置简单Web站点任务三&#xff1a;配置基于主机名的虚抛主机任务四&#xff1a;安装vsftpd任务五&#xff1a;匿名用户访问FTP服务器任务六&#xff1a;本地用户配置一、知识目标…

HummerRisk 使用场景-混合云安全治理(2)--阿里云安全最佳实践

背景&#xff1a; 阿里云安全最佳实践&#xff0c;是基于众多客户上云的成功案例萃取而成的最优化企业上云指导。每个最佳实践包括使用场景、多产品部署架构及部署手册。 最佳实践目前覆盖23种常用场景&#xff0c;目前有200篇最佳实践&#xff0c;涉及100款以上阿里云产品的…

20221128-1Spring_day02(资料来自黑马程序)

Spring_day02 今日目标 掌握IOC/DI配置管理第三方bean掌握IOC/DI的注解开发掌握IOC/DI注解管理第三方bean完成Spring与Mybatis及Junit的整合开发 1&#xff0c;IOC/DI配置管理第三方bean 前面所讲的知识点都是基于我们自己写的类&#xff0c;现在如果有需求让我们去管理第三方…

安卓讲课笔记5.11 菜单

文章目录零、本讲学习目标一、导入新课二、新课讲解&#xff08;一&#xff09;菜单概述1、选项菜单2、上下文菜单3、子菜单&#xff08;二&#xff09;选项菜单案例演示1、创建安卓应用2、准备图片素材3、字符串资源文件4 、主布局资源文件5、主界面类实现功能6、启动应用&…

2. Vue3 Composition API

Composition API 1.Composition API 接下来我们来介绍一下Vue3中新增的Composition API如何使用。注意Composition API仅仅是Vue3中新增的API&#xff0c;我们依然可以使用Options API。先来实现一下之前演示的获取鼠标位置的案例。做这个案例之前&#xff0c;需要先介绍一下…

MybatisPlus简单使用与自定义sql以及通过自定义sql实现多表联查的分页查询

MybatisPlus简单使用与自定义sql以及通过自定义sql实现多表联查的分页查询前言1. mybatis的简单使用2. MybatisPlus 的简单使用2.1 入门2.1.1 简单配置2.1.2 入门例子2.1.3 测试2.2 MybatisPlus自带封装的增删改查2.2.1 傻瓜式使用2.2.2 批量添加数据3 MybatisPlus 动态查询sql…

计算机网络---数据链路层扩展的以太网

&#xff08;一&#xff09;在物理层扩展以太网 使用光纤扩展&#xff1a;主机使用光纤和一对光纤调制解调器连接到集线器 使用集线器扩展&#xff1a;主机使用光纤和一对光纤调制解调器连接到集线器 使用集线器扩展的优缺点 优点 &#xff1a;使原来属于不同碰撞域&#xff0…

Nodejs -- Express中间件的概念及基本使用

文章目录1 中间件的概念1.1 什么是中间件1.2 现实生活中的例子1.3 Express中间件的调用流程1.4 Express的中间件的格式1.5 next函数的作用2 Express中间件初体验2.1 定义中间件函数2.2 全局生效的中间件2.3 定义全局中间件的简化形式2.4 中间件的作用2.5 定义多个全局中间件2.6…

机器学习-(手推)线性回归3-正则化-岭回归(Ridge)-频率角度贝叶斯角度

一、正则化-岭回归-频率角度 回顾&#xff1a; Loss Function&#xff1a; 过拟合的解决方法&#xff1a; ①最直接&#xff1a;加数据 ②降维&#xff08;特征选择/特征提取&#xff08;PCA&#xff09;&#xff09; ③正则化&#xff08;对参数空间&#xff0c;例如w的约…

预处理,编译,汇编,链接,全过程。

编译&#xff0c;链接&#xff0c;全过程。背景知识预处理&#xff1a;1.宏定义指令&#xff0c;如#define MAX 1&#xff1b;2.条件编译指令&#xff0c;如#ifdef、 #ifndef、#else、#elif、#endif等。3.头文件包含指令&#xff0c;如#include等。4.特殊符号&#xff0c;预编译…

SQL explain解析器

EXPLAIN 参数前言字段参数id 查询编号select_type 关联类型SIMPLEPRIMARYUNION & UNION RESULTDERIVEDSUBQUERYDEPENDENTUNCACHEABLEMATERIALIZEDtable 表名partitions 数据的分区信息type 关联类型system & consteq_refreffulltextref_or_nullindex_mergeunique_subqu…

必备表格软件-FineReport正则表达式简介

1. 概述 1.1 应用场景 有时候我们需要用到正则表达式进行信息的校验。 例如有一张使用了「文本控件」的查询报表&#xff0c;输入「销售员」姓名后可查询销售员的销售情况&#xff0c;此时希望设置销售员文本控件的填入信息校验内容为&#xff1a;若填入内容不是中文或中文的…

【无标题】接口测试用例设计(精华)

接口测试 请求头 请求头中的Content-Type有哪几种&#xff1a; 1.application/x-www-form-urlencoded 最常见的 POST 提交数据的方式&#xff0c;原生Form表单&#xff0c;如果不设置 enctype 属性&#xff0c;默认为application/x-www-form-urlencoded 方式提交数据。 2.appli…

Node.js 入门教程 19 package-lock.json 文件

Node.js 入门教程 Node.js官方入门教程 Node.js中文网 本文仅用于学习记录&#xff0c;不存在任何商业用途&#xff0c;如侵删 文章目录Node.js 入门教程19 package-lock.json 文件19.1 示例19 package-lock.json 文件 在版本 5 中&#xff0c;npm 引入了 package-lock.json 文…

BUUCTF Reverse/[2019红帽杯]xx

BUUCTF Reverse/[2019红帽杯]xx 先看下文件信息&#xff1a;没有加壳、64位程序 看别人wp时候发现个好东东,就是这个findcrypt插件&#xff0c;可以看加密算法的&#xff0c;具体安装可以看这个IDA7.5安装findcrypt3插件 可以看到这是tea加密 先一点点分析代码&#xff0c;输入…

48.标准输入输出流

标准输入流对象cin&#xff0c;重点掌握的函数&#xff1a; 1.cin.get() //一次只能读取一个字符 2.cin.get(一个参数) //读一个字符 3.cin.get(两个参数) //可以读字符串 这种情况下不会读取换行符&#xff0c;换行符始终留在缓冲区当中 4.cin.getline() 此函数在读取数据的…

跳出打工圈!程序员要如何走上创业逆袭路,获得财富自由

前言 采访了一位创业人物&#xff0c;创业即是人生&#xff0c;生命精彩待续 人生的每一种经历都是一门功课&#xff0c;我们无法跳跃过去&#xff0c;所以必须要逐个地去完成它。无论遇到什么样的困难&#xff0c;自己想通了、走出来了&#xff0c;才会有不一样的自己。 大…

rt-thread通过spi连接W25Q32后无法读取ID

注意&#xff0c;cs引脚必须由rtt控制&#xff0c;但是我这个cs引脚用的是PA15&#xff0c;它默认是jlink的引脚&#xff0c;所以首先要将jlink禁用&#xff0c;如下&#xff1a; rcu_periph_clock_enable(RCU_AF);rcu_periph_clock_enable(RCU_GPIOA);rcu_periph_clock_enable…

开课通知 | 《AISHELL-3语音合成实战》课程

语音合成技术 在多个智能语音技术的学习方向中&#xff0c;语音合成又称文本转换&#xff08;Text To Speech, 简称TTS&#xff09;即将文字信息转换成为人类可以听得懂、流利的语音技术。在人机语音交互系统中&#xff0c;语音合成作为最后机器将内容转化为语音的输出环节&…

线程可重复使用,程序开发是如何使用线程池的呢?

大家都知道多线程开发对于程序开发的重要性&#xff0c;今天大连九哥来给大家聊一聊线程池的使用过程。 一、为什么要使用线程池&#xff1f; 大家都知道java支持多线程开发&#xff0c;也就是支持多个任务并行运行&#xff0c;我们也知道线程的生命周期中包括创建、就绪、运…