一、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. [ABC238G] Cubic?

    Problem Statement Given a sequence $A$ of $N$ numbers, answer the following $Q$ questions. In the $i ...

  2. nginx下的proxy_pass使用

    之前的文章说到了,return,rewrite的使用,以及它们的使用场景,今天再来说一种代理的使用,proxy_pass,它属于nginx下的ngx_http_proxy_module模块,没有显示的 ...

  3. 创建定义store并使用组合式api、选项式api

    在项目根目录创建store文件夹(此步骤和vuex相同) 在步骤一的store文件夹下根据不同的用途场景创建单独的store文件(等同于vuex中分模块). 定义store基本步骤 步骤 导入defi ...

  4. NetSuite 开发日记 —— 库存详细信息记录更改数量问题

    详细报错: "type":"error.SuiteScriptError","name":"USER_ERROR",&q ...

  5. rcs群发软件系统功能设计与应用,rcs群发软件系统,rcs群发软件

    随着科技的不断发展,人们对于通讯方式的需求也在不断变化,传统的短信.电话已经无法满足人们对于高效.便捷.实时的通讯需求,正是在这样的背景下,富通讯解决方案(Rich Communication Sui ...

  6. ElasticSearch之Force merge API

    使用本方法,可以触发强制合并操作. 默认情况下,ElasticSearch会在后台周期性触发合并操作,因此不需要用户刻意使用本方法. 使用强制合并的弊端: 可能会产生大于5G的segment对象,而E ...

  7. ElasticSearch之系统关键配置

    ElasticSearch之系统关键配置 集群名称 在配置文件$ES_HOME/config/elasticsearch.yml中指定,样例如下: cluster: name: logging-pro ...

  8. 【并发编程特性】并发编程特性之五种特性的探讨-volatileandsynchronized

    title: [并发编程特性]并发编程特性之五种特性的探讨 date: 2021-11-18 10:16:05.492 updated: 2021-12-26 17:43:10.414 url: ht ...

  9. mysql将查询结果生成临时表

    MySQL中将查询的结果生成临时表,列类型与查询的列一致,百度搜索到的没啥用. 直接上SQL: 将结果生成临时表 create temporary table temp_tb_name as (sel ...

  10. 标注工具合集(点云&图片)

    有什么问题欢迎留言交流,发现好用的会持续更新-- 图片类 1. labelimg:https://github.com/tzutalin/labelImg --- 只能拉框 2. labelme:ht ...