vue嵌套路由query传值遇到的问题

发布于 2022-09-13 00:44:27 字数 1386 浏览 14 评论 0

①在TopNavMenu组件中通过query方式跳转到goods页面并传传递参数search:

this.$router.push({path: '/goodss', query: {search: this.search}})

②在goods页面接收并打印:

// 监听路由变化,更新路由传递的搜索条件
$route: function (val) {
      if (val.path === '/goodss') {
        if (val.query.search !== undefined) {
          console.log(val.query.search)
          this.activeName = '-1'
          this.currentPage = 1
          this.total = 0
          this.search = val.query.search
        }
      }
    }

③在home页面搜索输入search后成功跳转,路由改变:http://localhost:8080/goodss?search=测试,但没有打印search
④但在goods页面进行输入search后却能成功打印search
⑤路由配置如下:

{
      path: '/index',
      name: 'AppIndex',
      component: AppIndex,
      redirect: '/home',
      children: [
        {
          path: '/home',
          name: 'Home',
          component: Home
        },
        {
          path: '/goodss',
          component: Goodsss
        }

其中AppIndex如下(TopNavMenu为其组件):

<template>
  <div>
    <top-nav-menu></top-nav-menu>
    <router-view/>
  </div>
</template>

<script>
import TopNavMenu from '../common/TopNavMenu'
export default {
  name: 'AppIndex',
  components: {TopNavMenu}
}
</script>

<style scoped>

</style>

请问为什么会出现这种问题?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文