vue-router传参的4种方式超详细讲解
作者:秋田君 发布时间:2024-04-27 15:48:21
标签:vue-router,传参
一、router-link路由导航方式传参
父组件:<router-link to="/跳转到的路径/传入的参数"></router-link>
子组件:this.$route.params.content
接受父组件传递过来的参数
例如:
路由配置:
bashbash{path:'/father/son/:num',name:A,component:A}```
地址栏中的显示:
http://localhost:8080/#/father/son/44
调用方法:
<router-link to="/father/son/传入的参数">父亲组件<router-link>
子组件通过 this.$route.params.num 接受参数
二、调用$router.push实现路由传参
父组件:通过实践触发,跳转代码
<button @click="clickHand(123)">push传参</button>
methods: {
clickHand(id) {
this.$router.push({
path: `/d/${id}`
})
}
}
路由配置
{path: '/d/:id', name: D, component: D}
地址栏中显示:
http://localhost:8080/d/123
子组件接受参数方式
mounted () {
this.id = this.$route.params.id
}
三、通过路由属性name匹配路由,再根据params传递参数
父组件:
<button @click="ClickByName()">params传参</button>
ClickByName() {
this.$router.push({
name: 'B',
params: {
context: '吴又可吴又可吴又可'
}
})
}
路由配置:路径后不需要在加上传入的参数,但是name必须和父组件中的name一致
{path: '/b', name: 'B', component: B}
地址栏中的显示:地址栏不会带有传入的参数,而且再次刷新页面后参数会丢失
http://localhost:8080/#/b
子组件接收参数的方式:
<template>
<div id="b">
This is page B!
<p>传入参数:{{this.$route.params.context}}</p>
</div>
</template>
四、通过query来传递参数
父组件:
<button @click="clickQuery()">query传参</button>
clickQuery() {
this.$router.push({
path: '/c',
query: {
context: '吴又可吴又可'
}
})
}
路由配置:不需要做任何修改
{path: '/c', name: 'C', component: C}
地址栏中的显示(中文转码格式):
http://localhost:8080/#/c?sometext=%E8%BF%99%E6%98%AF%E5%B0%8F%E7%BE%8A%E5%90%8C%E5%AD%A6
子组件接受方法:
<template>
<div id="C">
This is page C!
<p>这是父组件传入的数据: {{this.$route.query.context}}</p>
</div>
</template>
工作中经常用的也就是上面的几种传参方式,完结~
来源:https://blog.csdn.net/qq_42696432/article/details/125400186


猜你喜欢
- 基准函数是测试演化计算算法性能的函数集,由于大部分基准函数集都是C/C++编写,Python编写的基准函数比较少,因此本文实现了13个常用基
- 通配符的分类:%百分号通配符: 表示任何字符出现任意次数 (可以是0次)._下划线通配符:表示只能匹配单个字符,不能多也不能少,就是一个字符
- 微信小程序实现人脸识别,具体应用场景 前端实现人脸信息采集 拍到正面照片 发送给后端该方法暂
- 目录一、for在 Python 中使用循环进行迭代二、使用 Python 的 enumerate()三、用 Python 练习 enumer
- 本文实例为大家分享了js表格操作的简单方法,供大家参考,具体内容如下<!DOCTYPE html><html> &n
- 本文实例讲述了JS实现DOM节点插入操作之子节点与兄弟节点插入操作。分享给大家供大家参考,具体如下:<!doctype html>
- 程序思路:此次程序主要是利用PIL(Python Image Libraty)这库,来进行图片的处理。PIL是一个功能非常强大的python
- 由于最近需要使用爬虫爬取数据进行测试,所以开始了爬虫的填坑之旅,那么首先就是先系统的学习下关于正则相关的知识啦。所以将下面正则方面的知识点做
- 我的数据库如图结构我取了其中的name age nr,做成array,只要所取数据存在str型,那么取出的数据,全部转化为str型,也就是a
- MySQL批量插入问题在开发项目时,因为有一些旧系统的基础数据需要提前导入,所以我在导入时做了批量导入操作 ,但是因为MySQL中的一次可接
- Microsoft? SQL Server? 2000 的可用版本如下:SQL Server 2000企业版作为生产数据库服务器使用。支持
- Anaconda安装:anaconda官方下载地址https://www.anaconda.com/products/individual注
- 本文实例为大家分享了bootstrapValidator.min.js表单验证的具体代码,供大家参考,具体内容如 * 意:下载后全选复制并粘贴
- Django根据已有数据库表反向生成models类一. 创建一个Django项目django-admin startproject ‘xxx
- 发现问题最近在工作中遇到了一个问题,在定义了schema之后,每一次save都会报E11000,但是db.xxx.find()里面根本就没有
- function lLoopRun(sFuncLoop,sFuncEnd,nDelay) {//writen
- 当perl脚本运行时,从命令行上传递给它的参数存储在内建数组@ARGV中,@ARGV是PERL默认用来接收参数的数组,可以有多个参数,$AR
- 本文介绍了Python小波分析库Pywavelets,分享给大家,具体如下:# -*- coding: utf-8 -*- import n
- 1、如何快速找到多个字典中的公共键(key)实际案例:西班牙足球甲级联赛,每轮球员进球统计:第一轮:{'苏亚雷斯': 1,
- 相关文章推荐:各种loading加载图标下载 gif格式loadinfo和ajaxload一样,也是一个在线Ajax载入动画生成工