<vue 路由 6、动态路由-方法传递参数>
一、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、动态路由-方法传递参数>的更多相关文章
- 简单物联网:外网访问内网路由器下树莓派Flask服务器
最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...
- 利用ssh反向代理以及autossh实现从外网连接内网服务器
前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...
- 外网访问内网Docker容器
外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...
- 外网访问内网SpringBoot
外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...
- 外网访问内网Elasticsearch WEB
外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...
- 怎样从外网访问内网Rails
外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...
- 怎样从外网访问内网Memcached数据库
外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...
- 怎样从外网访问内网CouchDB数据库
外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...
- 怎样从外网访问内网DB2数据库
外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...
- 怎样从外网访问内网OpenLDAP数据库
外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...
随机推荐
- Springboot+shiro,完整教程,带你学会shiro
您的第一个 Apache Shiro 应用程序 引入依赖: <?xml version="1.0" encoding="UTF-8"?> <p ...
- 循环依赖导致编译或者服务启动报错问题:The dependencies of some of the beans in the application context form a cycle
错误如图: 我的是服务器启动服务时报错: ***************************APPLICATION FAILED TO START************************* ...
- Chrome扩展的核心:manifest 文件(上)
大家好,我是dom哥.我正在写关于 Chrome 扩展开发的系列文章,感兴趣的可以点个小星星. Chrome 在全球浏览器市场份额独占 6 成,无论是对普通用户还是开发者,都是电脑里的必备利器.Chr ...
- 牛客小白月赛2 F题黑黑白白 (博弈或dfs)
题目链接:https://www.nowcoder.com/acm/contest/86/F 解题思路:赛后看博客都说是sg函数.emmm,后面看了别人代码dfs也可以,只要找到一条能赢的路就可以. ...
- 华企盾DSC服务器配置无法创建数据库
测试连接的数据库用户没有创建数据库的权限,应该打开数据库控制台,把对应用户的权限都勾上
- 【C#】【串口通信(Serial Port)】无法使用(using System.IO.Ports;)命名空间<Error:SerialPort不存在上下文>
1.包缺失导致--安装相应包: 2.等待命令行初始化--输入命令: Install-Package Microsoft.Windows.Compatibility -Version 5.0.2 参考网 ...
- sudo: unable to execute /bin/rm: Argument list too long
Linux,删除文件夹下所有内容,数据太多时,报错too long sudo rm -r /var/lib/jenkins/workspace/test_1/allure-report/data/at ...
- 如何屏蔽各大AI公司爬虫User Agent
罗列各大AI公司Scraper爬虫Crawler使用的User Agent,教您如何在robots.txt里面屏蔽这些爬虫的访问,禁止它们下载您的网站内容以训练 AI 模型,保护数据,降低带宽,防止宕 ...
- ASR项目实战-产品分析
分析Google.讯飞.百度.阿里.QQ.搜狗等大厂的ASR服务,可以罗列出一款ASR服务所需要具备的能力. 产品分类 ASR云服务产品,从用户体验.时效性.音频时长,可以划分为如下几类: 实时短音频 ...
- Docker下的SqlServer发布订阅启用
一.准备一个Docker的sqlserver #创建挂载数据文件夹 mkdir -p /home/mssql/data #创建挂载日志文件夹 mkdir /home/mssql/log #给文件夹权限 ...