当前位置: 首页 > news >正文

Vue路由入门学习

文章目录

    • 路由的基本使用
      • 1.目标
      • 2.作用
      • 3.说明
      • 4.官网
      • 5.VueRouter的使用(5+2)
      • 两个核心步骤
    • 组件的存放目录问题
      • 1.组件分类
      • 存放目录
    • 路由的封装抽离

Vue中的路由: 路径和组件映射关系

路由的基本使用

1.目标

认识插件 VueRouter,掌握 VueRouter 的基本使用步骤

2.作用

修改地址栏路径时,切换显示匹配的组件

3.说明

Vue 官方的一个路由插件,是一个第三方包

4.官网

https://v3.router.vuejs.org/zh/

5.VueRouter的使用(5+2)

固定5个固定的步骤(不用死背,熟能生巧)
下载 VueRouter 模块到当前工程,版本3.6.5

yarn add vue-router@3.6.5

或者

npm i add vue-router@3.6.5

main.js中引入VueRouter

import VueRouter from 'vue-router'

安装注册

Vue.use(VueRouter)

创建路由对象

const router = new VueRouter()
  1. 注入,将路由对象注入到new Vue实例中,建立关联
new Vue({render: h => h(App),router:router
}).$mount('#app')
// 路由的使用步骤 5 + 2
// 5个基础步骤
// 1. 下载 v3.6.5
// yarn add vue-router@3.6.5
// 2. 引入
// 3. 安装注册 Vue.use(Vue插件)
// 4. 创建路由对象
// 5. 注入到new Vue中,建立关联import VueRouter from 'vue-router'
Vue.use(VueRouter) // VueRouter插件初始化const router = new VueRouter()new Vue({render: h => h(App),router
}).$mount('#app')

当我们配置完以上5步之后 就可以看到浏览器地址栏中的路由 变成了 /#/的形式。表示项目的路由已经被Vue-Router管理了
image.png

两个核心步骤

  1. 创建需要的组件 (views目录),配置路由规则
  2. 配置导航,配置路由出口(路径匹配的组件显示的位置)

image.png
App.vue

  <div><div class="footer_wrap"><a href="#/find">发现音乐</a><a href="#/my">我的音乐</a><a href="#/friend">朋友</a></div><div class="top"><!-- 路由出口 → 匹配的组件所展示的位置,当前设置为导航的下面 --><router-view></router-view></div></div>

main.js

import Vue from 'vue'
import App from './App.vue'// 路由的使用步骤 5 + 2
// 5个基础步骤
// 1. 下载 v3.6.5
// 2. 引入
// 3. 安装注册 Vue.use(Vue插件)
// 4. 创建路由对象
// 5. 注入到new Vue中,建立关联// 2个核心步骤
// 1. 建组件(views目录),配规则
// 2. 准备导航链接,配置路由出口(匹配的组件展示的位置) 
import Find from './views/Find'
import My from './views/My'
import Friend from './views/Friend'
import VueRouter from 'vue-router'
Vue.use(VueRouter) // VueRouter插件初始化const router = new VueRouter({// routes 路由规则们// route  一条路由规则 { path: 路径, component: 组件 }routes: [{path:'/find',component:Find},{path:'/my',component:My},{path:'/friend',component:Friend},]
})Vue.config.productionTip = falsenew Vue({render: h => h(App),router
}).$mount('#app')

组件的存放目录问题

注意: .vue文件 本质无区别

1.组件分类

.vue文件分为2类,都是 .vue文件(本质无区别)

  • 页面组件 (配置路由规则时使用的组件)
  • 复用组件(多个组件中都使用到的组件)

存放目录

分类开来的目的就是为了 更易维护

  1. src/views文件夹

页面组件 - 页面展示 - 配合路由用

  1. src/components文件夹

复用组件 - 展示数据 - 常用于复用

路由的封装抽离

问题:所有的路由配置都在main.js中合适吗?
目标:将路由模块抽离出来。 好处:拆分模块,利于维护
image.png
路径简写:
脚手架环境下 @指代src目录,可以用于快速引入组件

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【Java数据结构】---初始数据结构
  • solidity合约销毁(带销毁例子很常见)
  • 练习实践-基础设施:搭建时钟同步服务器-基于chrony软件在centos7系统上的实现
  • 学习STM32(1)--Keil软件安装与基本操作和Keil 软件高级应用
  • 来自echarts的灵感
  • 《Linux从入门到进阶》第一节 初识Linux
  • 科普文:JUC系列之ForkJoinPool源码解读ForkJoinWorkerThread
  • 悠易科技周文彪:创始人专注度很重要,一旦战略分散无法形成合力 | 中国广告营销行业资本报告深访④
  • LeetCode | 441 | 排列硬币 | 二分查找
  • 计算机组成原理 —— 指令流水线影响因素分类
  • 提示词工程
  • 微信小程序--实现地图定位---获取经纬度
  • 打造智能障碍物检测系统:从零开始的深度学习项目
  • 【启明智显方案分享】6.86寸高清显示屏音频效果器解决方案
  • 基于NSGAII的的柔性作业调度优化算法MATLAB仿真,仿真输出甘特图
  • 分享的文章《人生如棋》
  • [数据结构]链表的实现在PHP中
  • Centos6.8 使用rpm安装mysql5.7
  • interface和setter,getter
  • IOS评论框不贴底(ios12新bug)
  • Java 23种设计模式 之单例模式 7种实现方式
  • LeetCode算法系列_0891_子序列宽度之和
  • Mac转Windows的拯救指南
  • React系列之 Redux 架构模式
  • WebSocket使用
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • 工程优化暨babel升级小记
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 基于HAProxy的高性能缓存服务器nuster
  • 记一次和乔布斯合作最难忘的经历
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 利用jquery编写加法运算验证码
  • 名企6年Java程序员的工作总结,写给在迷茫中的你!
  • 小程序 setData 学问多
  • 小程序测试方案初探
  • Mac 上flink的安装与启动
  • #Linux(帮助手册)
  • #window11设置系统变量#
  • (0)Nginx 功能特性
  • (5)STL算法之复制
  • (Matalb回归预测)PSO-BP粒子群算法优化BP神经网络的多维回归预测
  • (Oracle)SQL优化基础(三):看懂执行计划顺序
  • (二)WCF的Binding模型
  • (二)换源+apt-get基础配置+搜狗拼音
  • (过滤器)Filter和(监听器)listener
  • (含react-draggable库以及相关BUG如何解决)固定在左上方某盒子内(如按钮)添加可拖动功能,使用react hook语法实现
  • (免费领源码)python#django#mysql校园校园宿舍管理系统84831-计算机毕业设计项目选题推荐
  • (算法)求1到1亿间的质数或素数
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .
  • (转)Sublime Text3配置Lua运行环境
  • (转)程序员技术练级攻略
  • (转)重识new
  • *p++,*(p++),*++p,(*p)++区别?
  • *上位机的定义
  • .gitignore文件使用