一、query效果

点击query按钮

二、param效果

点击param按钮

注意点

1:重新刷新浏览器后,参数都不在了。

2:url中能看不到传递的参数

3、分别用{{$route. params.name}}和方法的方式获取传递过来的参数并展现。

三、代码结构

注:主要是标红的几个文件

四、代码

index.js

//引入路由
import {
createRouter,
createWebHistory
} from 'vue-router'
import Home from '../views/Home.vue' //定义路由
const routes = [{
path: '/',
name: 'Home',
component: Home
},
{
path: '/about',
name: 'About',
component: () => import('../views/About.vue')
},
{
path: '/query',
name: 'Query',
component: () => import('../views/Query.vue')
},
{
path: '/params',
name: 'Params',
component: () => import('../views/Params.vue')
}
] //创建路由
const router = createRouter({
//createWebHashHistory hash模式路径前面会多一个#号
history: createWebHistory(process.env.BASE_URL),
routes
}) //返回了路由
export default router

App.vue

<template>
<div id="nav">
<router-link to="/">Home</router-link> |
<router-link to="/about">About</router-link> |
<button @click="queryMethod"> query按钮 </button>
<button @click="paramsMethod"> param按钮 </button> </div>
<router-view></router-view>
</template> <script>
import { defineComponent, ref } from 'vue'
import { useRouter } from 'vue-router'
export default defineComponent({
name: 'App',
setup() {
//setup组件创建的过程
let router = useRouter()
let name = ref('jack')
let num = ref(10)
let obj = ref({
msg: 'start'
}) let queryMethod = () => {
//push如果是传的对象的形式 就可以传递参数
//query 传参
//push里面还可以传入name, name是路由名字index.js里定义的
//query传参path和name都可以 传递参数 参数在地址栏里 刷新后参数还在
router.push({
//path : '/query',
name: 'Query',
query: {
//前面的name可以随便取
name: name.value,
num: num.value,
obj: JSON.stringify(obj)
}
})
} let paramsMethod = () => {
//push如果是传的对象的形式 就可以传递参数
//params 传参
//push里面还可以传入name, name是路由名字index.js里定义的
//params传参只能用name 参数不会在地址栏里 刷新后参数会消失
router.push({
name: 'Params',
params: {
//前面的name可以随便取
name: name.value,
num: num.value,
obj: JSON.stringify(obj)
}
})
}
return {
queryMethod,
paramsMethod
}
}
})
</script>

Home.vue

<template>
<div class="home">
<p>Home Page</p>
<img alt="Vue logo" src="../assets/logo.png">
</div>
</template> <script>
</script>

About.vue

<template>
<div class="about">
<h1>about page</h1>
</div> </template>

Query.vue

<template>
<div class="about">
<h1>Query page</h1>
<div> {{$route.query.name}} </div>
<div> {{$route.query.num}}</div>
<div> {{$route.query.obj}}</div>
<div>
<p>-------如下是方法里获得的参数---------</p>
</div>
<div> {{name}} </div>
<div> {{num}} </div>
<div> {{obj}}</div> </div>
</template> <script>
//编写js内容 import {defineComponent,ref} from 'vue'
import {useRouter,useRoute} from 'vue-router'
export default defineComponent({
name: 'Query',
components: { },
setup() {
//router 是全局路由对象
let router = useRouter()
//route是当前路由对象
let route = useRoute()
console.log(route.query.name)
console.log(route.query.num)
console.log(route.query.obj) let name = route.query.name
let num = route.query.num
let obj = route.query.obj return {
name,
num,
obj }
}
})
</script>

Params.vue

<template>
<div class="about">
<h1>Params page</h1> <div> {{$route.params.name}} </div>
<div> {{$route.params.num}}</div>
<div> {{$route.params.obj}}</div>
<div>
<p>-------如下是方法里获得的参数---------</p>
</div>
<div> {{name}} </div>
<div> {{num}} </div>
<div> {{obj}}</div> </div> </template> <script>
//编写js内容 import {defineComponent,ref} from 'vue'
import {useRouter,useRoute} from 'vue-router'
export default defineComponent({
name: 'Query',
components: { },
setup() {
//router 是全局路由对象
let router = useRouter()
//route是当前路由对象
let route = useRoute()
console.log(route.params.name)
console.log(route.params.num)
console.log(route.params.obj) let name = route.params.name
let num = route.params.num
let obj = route.params.obj return {
name,
num,
obj }
}
})
</script>

<vue 路由 6、动态路由-方法传递参数>的更多相关文章

  1. 简单物联网:外网访问内网路由器下树莓派Flask服务器

    最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...

  2. 利用ssh反向代理以及autossh实现从外网连接内网服务器

    前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...

  3. 外网访问内网Docker容器

    外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...

  4. 外网访问内网SpringBoot

    外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...

  5. 外网访问内网Elasticsearch WEB

    外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...

  6. 怎样从外网访问内网Rails

    外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...

  7. 怎样从外网访问内网Memcached数据库

    外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...

  8. 怎样从外网访问内网CouchDB数据库

    外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...

  9. 怎样从外网访问内网DB2数据库

    外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...

  10. 怎样从外网访问内网OpenLDAP数据库

    外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...

随机推荐

  1. IDEA的两个实用插件“汉化”和“翻译”

    1.汉化包插件 Chinese (Simplified) Language Pack EAP 2.翻译插件 translation 3.效果图 这两个不局限这一软件,IntelliJ这一公司旗下都可以 ...

  2. Http请求超好用的工具类

    话题不多说,直接开整 1.先导入依赖 <dependency> <groupId>io.github.admin4j</groupId> <artifactI ...

  3. LR(1)分析法

    SLR(1)方法的出现,解决了大部分的移进和规约冲突.规约和规约的冲突.并且SLR(1)其优点是状态数目少,造表算法简单,大多数程序设计语言基本上都可用SLR(1)文法来描述. 但是仍然有一些文法,不 ...

  4. 数据智慧:C#中编程实现自定义计算的Excel数据透视表

    前言 数据透视表(Pivot Table)是一种数据分析工具,通常用于对大量数据进行汇总.分析和展示.它可以帮助用户从原始数据中提取关键信息.发现模式和趋势,并以可视化的方式呈现. 在数据透视表中,数 ...

  5. 万界星空科技仓库管理wms系统

    ​ 企业在管理库存时,尤其是生产制造企业,使用传统方式比如纸笔.Excel 管理库存,由于工具和信息化存在局限,导致在管理库存时出现如下问题: 1.通过纸笔记录出入库申请,人为手动计算易出错,数据易丢 ...

  6. docker的基本命令使用

    docker image/images docker image与images 的区别在于docker images可以直接使用,docker image不可以直接使用,看例子 [root@docke ...

  7. python Django api 返回图片

    re_path(r"report_img/(.*)$",views.ReportImage.as_view()) def return_img(request): img_dir ...

  8. Typora+Docsify快速入门

    Typora是什么? ​ Typora中文版是一款好用极简的跨平台Markdown编辑器,软件使用这款软件能够帮助用户轻松将文本转换到HTML,软件从底层向上设计,软件支持markdown的标准语法, ...

  9. 宝塔面板如何用一IP不同端口创建不同的网站(“您添加的站点已存在”)

    问题描述 玩宝塔面板的时候,一开始没有云服务器,需要在本地虚拟机里搭建各种网站,想在本地服务器下搭建多个站点,但是总会遇到"您添加的站点已存在"这个现象. 问题原因及解决办法 出现 ...

  10. 解读登录双因子认证(MFA)特性背后的TOTP原理

    摘要:随着互联网密码泄露事件频发,越来越多的产品开始支持多因子认证(MFA),TOTP则是MFA领域里最普遍的一种实现方式,本文介绍TOTP的原理和华为云的实践经验. 原理 TOTP(Time-Bas ...