vue-router 学习快速入门

发布时间 - 2026-01-10 23:20:45    点击率:

vue-router 快速入门

配置路由

$ npm install vue-router --save 

routes.js

import Home from './pages/Home.vue'
import Gifs from './pages/Gifs.vue'
import User from './pages/User.vue'

export const routes = [
  { path: '', component: Home },
  { path: '/gifs', component: Gifs },
  { path: '/user/:id', component: User }
  //指定路由和对应要渲染的组件
  //404的path应该是'*',要放在最末尾,当前面的都匹配不到时才匹配到404页面
  //this.$route.params.id 可以从路由中拿到id数据
]

main.js

import VueRouter from 'vue-router'
import { routes } from './routes'

Vue.use(VueRouter)
//路由初始化
const router = new VueRouter({
 routes
})

//将路由注入根组件
new Vue({
 el: '#app',
 ...
 router,
 render: h => h(App)
})

App.vue

<template>
  <div class="app">
    <router-view></router-view>
  </div>
</template>

在模板中标注出组件渲染的位置

#号的含义

#号前表示的是发送给服务端的请求,要求返回html文件,而#号后表示的是发送给本地js的请求以寻求解决

路由参数动态绑定

使用watch

watch: {
  '$route'(to,from) {
    //to当前路由,from上一个路由
    this.id = to.params.id
  }
}

路由的数据传递

复制代码 代码如下:
<router-link :to="{ name: 'userEdit', params: { id: $route.params.id }, query: { locale: 'en', list: 2 } }"></router-link>

传query参数可以达到地址栏出现/?locale=en&list=2

通过 $route.query.键名 来访问

命名视图

router-view 可以通过配置名字 name 来指定组件渲染的位置,增加了组件的复用性,比如分成 header main hero footer 来分别在一个视图中的不同位置上加载不同的组件

组件懒加载

我们只需要加载我们需要的组件呈现给用户,而其他不需要第一时间加载的组件,可以使用 webpack 实现异步加载,只在需要的时候才会发出请求,请求加载另一个组件

routes.js

const User = resolve => {
  require.ensure(['./components/user/User.vue'], () => {
    resolve(require('./components/user/User.vue'))
  }, 'GroupName')
}
//webpack 异步加载,通过组名,将要同时一起加载的组件打包加载

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# vue  # router入门  # router  # 快速入门  # Vue路由vue-router用法讲解  # Vue学习-VueRouter路由基础  # Vue.js路由组件vue-router使用方法详解  # Vue学习笔记进阶篇之vue-router安装及使用方法  # vue-router:嵌套路由的使用方法  # 10分钟快速上手VueRouter4.x教程  # 加载  # 的是  # 发送给  # 放在  # 才会  # 他不  # 可以通过  # 只需要  # 可以使用  # 第一时间  # 只在  # 时才  # 可以达到  # 绑定  # 而其  # 服务端  # 大家多多  # 复用  # 应该是  # 增加了 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel怎么在Controller之外的地方验证数据  Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】  大同网页,大同瑞慈医院官网?  如何彻底卸载建站之星软件?  如何为不同团队 ID 动态生成多个非值班状态按钮  网站制作软件免费下载安装,有哪些免费下载的软件网站?  高端建站三要素:定制模板、企业官网与响应式设计优化  移动端脚本框架Hammer.js  Laravel的HTTP客户端怎么用_Laravel HTTP Client发起API请求教程  悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】  Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制  深圳网站制作培训,深圳哪些招聘网站比较好?  Laravel中间件如何使用_Laravel自定义中间件实现权限控制  如何在VPS电脑上快速搭建网站?  Laravel怎么上传文件_Laravel图片上传及存储配置  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  html如何与html链接_实现多个HTML页面互相链接【互相】  jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】  LinuxCD持续部署教程_自动发布与回滚机制  Java解压缩zip - 解压缩多个文件或文件夹实例  Laravel观察者模式如何使用_Laravel Model Observer配置  香港服务器网站推广:SEO优化与外贸独立站搭建策略  简单实现Android文件上传  JavaScript中如何操作剪贴板_ClipboardAPI怎么用  Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理  如何续费美橙建站之星域名及服务?  laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法  Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能  昵图网官网入口 昵图网素材平台官方入口  Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?  Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】  Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决  Laravel如何使用Telescope进行调试?(安装和使用教程)  Laravel怎么使用Markdown渲染文档_Laravel将Markdown内容转HTML页面展示【实战】  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  Laravel Docker环境搭建教程_Laravel Sail使用指南  晋江文学城电脑版官网 晋江文学城网页版直接进入  JavaScript如何实现错误处理_try...catch如何捕获异常?  jQuery validate插件功能与用法详解  Laravel Seeder填充数据教程_Laravel模型工厂Factory使用  如何用IIS7快速搭建并优化网站站点?  Python数据仓库与ETL构建实战_Airflow调度流程详解  小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像  Laravel如何配置Horizon来管理队列?(安装和使用)  Laravel如何使用查询构建器?(Query Builder高级用法)  高性价比服务器租赁——企业级配置与24小时运维服务  简单实现jsp分页  php打包exe后无法访问网络共享_共享权限设置方法【教程】  Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】  Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】