当前位置: 首页 > 知识库问答 >
问题:

如何在Vue.js3设置中获取查询参数?

后星河
2023-03-14

我想使搜索页面后,我点击它的按钮将被重定向到另一个页面。这一页将是这样的

http://localhost:8080/search?q=foo

还有我的路由器索引。js看起来像这样

const routers = [
  {
    path: '/search',
    name: 'Search',
    component: SearchPage,
    props: route => ( { query: route.query.q } )
  }
]

问题是如何在Vue中获取目标页面SearchPage中的查询值。JS3?这个答案仍然让我困惑,因为没有使用CompositionAPI,也没有在VueJS3中使用

共有2个答案

周苑博
2023-03-14

您可以尝试的另一种设置是,通过url发送propname{path:'/search/:propname',name:'search',component:SearchPage,props:true},,在SearchPage上,在created()上,您可以接收它$路线params。propname

商飞翮
2023-03-14

您不需要将查询作为道具发送。最好使用useRoute,因为它更简单,可以从任何组件访问,而不仅仅是页面视图组件。

import { useRoute } from 'vue-router';

export default {
  setup() {
    const route = useRoute();
    console.log(route.query);
  }
}

首先更改路由器映射,以便query映射到query对象:

props: route => ({ query: route.query })

在目标组件SearchPage中,创建一个查询道具,该道具将从路由器接收查询对象:

props: ['query']

并通过props参数在setup中访问它:

props: ['query'],
setup(props) {
  console.log(props.query.q);
  console.log(props.query.status);
}
 类似资料:
  • 我在我的项目中使用react-router-dom 4.0.0-beta.6。我有一个代码如下: 我想在组件中获取查询参数。我找到了参数,如下所示:,因此未解析。 什么是正确的方法来获得查询参数与反应路由器v4?

  • 问题内容: 我遇到的情况是,卡实体具有某个人的外键。 此人的默认获取类型为LAZY。我可以在查询中为EAGER指定获取类型: 谢谢你的帮助。 问题答案: 你试过了吗 对于QueryDSL 4.0.2+

  • 问题内容: 我正在尝试在bigquery的查询中使用命名参数。 我懂了 有什么办法可以在biquery上设置命名参数? 问题答案: BigQuery仅通过使用标准SQL的API而非Web UI支持命名参数。您可以在“运行参数化查询”部分中了解有关它们的信息。如果您对查询参数的Web UI支持感兴趣,可以在问题跟踪器上为功能请求加注星标。

  • 问题内容: 我有一个实体: 我在说。这是我的DAO方法: 日志说: 请求处理失败;嵌套的异常是java.lang.NullPointerException 并将指针放在这一行: 有时必须为null。那么如何设置null? 问题答案: 如果您查看Query类的文档,setInteger()方法, 它以名称和 原始类型int 作为参数。 当您在 自动装箱 期间传递值为null的包装器类型Integer

  • 问题内容: 嗨,我有一个命名查询 我想这样设置限制: 但这在服务器启动时显示错误。我正在使用以下代码在DAO类中调用查询: 需要设置开始和结束参数。请帮忙。 问题答案: 正如@DataNucleus所说,LIMIT在JPQL中不是有效的关键字。这不是指定要返回多少行的方法。这是您的操作方式: 这将是调用命名查询的代码:

  • 问题内容: 这是我的PostgreSQL函数: 它有一个参数,我想通过JPQL 将Java传递给它: 上面的代码失败,但例外: 所以我不确定如何从EclipseLink调用我的函数。 问题答案: 通过将String []类型的Java数组传递给您进行测试,以进行测试。似乎PgJDBC不接受Java数组作为带有或不带有参数的参数。 合规 JDBC规范 16.5“数组对象” 建议JDBC 部分存在,因