小编Kyl*_*Kyl的帖子

在 Vue3 和 vue-router4(next) 的 setup() 中使用 useRoute() 时,路由查询未定义

我正在将 Vue3 与 vue-router 4.0.5 一起使用,并且遇到一个问题,其中 useRoute() 似乎可以正确检索路线,但路线的查询未定义,即使存在查询也是如此。

对于路径/search?q=vue,预期等于searchQueryvue返回未定义。

在模板中,{{ $route.query.q }}正确返回查询值。

import { useRoute } from "vue-router"

export default {
  name: "Search",
  setup() {
    const route = useRoute()
    const searchQuery = route.query.q

    console.log(route)
    console.log(searchQuery)

    return {
      searchQuery
    }
  }
}
Run Code Online (Sandbox Code Playgroud)
<template>
  <div>{{ $route.query.q }}</div>
</template>
Run Code Online (Sandbox Code Playgroud)

登录到控制台时,该route对象已正确记录并包含路由的查询对象,但searchQuery未定义。

我想知道为什么searchQuery在这个例子中返回为未定义。

javascript vue.js vuejs3 vue-router4

13
推荐指数
1
解决办法
1万
查看次数

标签 统计

javascript ×1

vue-router4 ×1

vue.js ×1

vuejs3 ×1