当前位置: 首页 > news >正文

vue3路由传参 query 、params

vue3 中的传参方式和vue2中一样,都可以用query和params传参
不过注意的是,vue2 中是有this的,但是vue3是在setup中进行的,且要引入 useRoute 和useRouter
代码如下
router 文件夹内容不变,在你用cli 创建项目时选中就行,我这里不在展示代码,放一个图看看就好了
在这里插入图片描述

看下RouteView 文件的代码

<template>
  <div>
    给about传参数
    <button @click="params">params传参</button>
    <button @click="query">query传参</button>
  </div>
</template>

<script>
import { useRouter } from "vue-router";
export default {
  setup() {
    const $router = useRouter();
    console.log($router, "router");
    let params = () => {
      $router.push({
        name: "About",
        params: {
          id: 1,
          aa: "nini",
        },
      });
    };
    let query = () => {
      $router.push({
        path: "/about",
        query: {
          id: 2,
          age: 13,
        },
      });
    };
    return {
      params,
      query,
    };
  },
};
</script>

<style lang="scss" scoped>
</style>

about页面
在这里插入图片描述
在这里插入图片描述
不管那种方式都可以正确跳转,且得到传参参数。

import { useRoute } from "vue-router";//引入路由组件
import { onMounted } from "vue";//引入钩子函数
export default {
  setup() {
    const $route = useRoute();
    onMounted(() => {
      console.log($route.params); //   打印 params 的参数
      console.log($route.query); //   打印 query 的参数
      // 这里得到了参数, 就可以做我们接口请求的处理了
    });
  },
};

我上边也有用watch 方法监听路由变化,用watch 是方便做监听动态的路由传参,从而使在异步获取API时能够实时监控到路由参数的变化。

在这里插入图片描述

当然还有其他的传参方式,后续在做。

相关文章:

  • Dom4j把xml转换成Map(非固定格式)
  • vue2 和 vue3 的 路由守卫
  • Android EventBus 3.0.0 使用总结
  • vue3 中vuex状态管理
  • 用过属性来给标签加样式
  • vue2和vue3 的 keep-alive的用法
  • php地址赋值值和传值赋值
  • vue3 Uncaught (in promise) TypeError: Cannot read properties of undefined 其实是解构赋值的问题
  • __new__方法
  • 动态样式绑定--style 和 class
  • Java多线程之Lock的使用(一)
  • vue项目 移动端 实现购物车功能
  • 火柴棒等式(2008年NOIP全国联赛提高组)
  • 如何用几何画板动态演示电饭锅工作原理
  • git 撤回 (git版本回退处理)
  • 《Javascript数据结构和算法》笔记-「字典和散列表」
  • 【跃迁之路】【519天】程序员高效学习方法论探索系列(实验阶段276-2018.07.09)...
  • Cumulo 的 ClojureScript 模块已经成型
  • gcc介绍及安装
  • Linux快速复制或删除大量小文件
  • NLPIR语义挖掘平台推动行业大数据应用服务
  • October CMS - 快速入门 9 Images And Galleries
  • Redis提升并发能力 | 从0开始构建SpringCloud微服务(2)
  • Unix命令
  • vue-router的history模式发布配置
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 为什么要用IPython/Jupyter?
  • 一个6年java程序员的工作感悟,写给还在迷茫的你
  • Java数据解析之JSON
  • ​油烟净化器电源安全,保障健康餐饮生活
  • #FPGA(基础知识)
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (1)(1.11) SiK Radio v2(一)
  • (175)FPGA门控时钟技术
  • (论文阅读笔记)Network planning with deep reinforcement learning
  • (十七)devops持续集成开发——使用jenkins流水线pipeline方式发布一个微服务项目
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (淘宝无限适配)手机端rem布局详解(转载非原创)
  • (转)h264中avc和flv数据的解析
  • (转)shell调试方法
  • (转)关于多人操作数据的处理策略
  • (转)我也是一只IT小小鸟
  • * 论文笔记 【Wide Deep Learning for Recommender Systems】
  • ..回顾17,展望18
  • .class文件转换.java_从一个class文件深入理解Java字节码结构
  • .L0CK3D来袭:如何保护您的数据免受致命攻击
  • .net oracle 连接超时_Mysql连接数据库异常汇总【必收藏】
  • .NET/C# 使窗口永不激活(No Activate 永不获得焦点)
  • .net6解除文件上传限制。Multipart body length limit 16384 exceeded
  • .NET学习教程二——.net基础定义+VS常用设置
  • .sys文件乱码_python vscode输出乱码
  • [ 蓝桥杯Web真题 ]-Markdown 文档解析
  • [ 渗透测试面试篇 ] 渗透测试面试题大集合(详解)(十)RCE (远程代码/命令执行漏洞)相关面试题