Vue 将查询参数作为组件属性传递?

发布于 2025-01-21 03:30:14 字数 93 浏览 0 评论 0原文

使用vuejs2& vue-router3,如何采用查询参数并将其传递到路由组件的道具中?并从URL中删除查询字符串?

这是为了支持在新窗口中打开链接

Using vuejs2 & vue-router3, how do I take query parameters and pass them into the props of a route component? And remove the query string from the URL?

This is to support opening a link in a new window

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

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

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

倾其所爱 2025-01-28 03:30:14
const router = new Router({
  routes: [
    {
      path: "/",
      name: "dashboard",
      meta: {
        title: "",
        roles: ["*"]
      },
      component: DashboardView,
      props: AddQueryToPropsAndRemoveQuery
    }
  ]
});

function AddQueryToPropsAndRemoveQuery(route) {

  var props = route.params;

  if (Object.entries(route.query).length > 0) {

    // combine query params into the props
    for (const [key, value] of Object.entries(route.query)) {
      props[key] = value;
    }

    router.push({ params: props, query: undefined })
  }


  return props;
}

export default router;
const router = new Router({
  routes: [
    {
      path: "/",
      name: "dashboard",
      meta: {
        title: "",
        roles: ["*"]
      },
      component: DashboardView,
      props: AddQueryToPropsAndRemoveQuery
    }
  ]
});

function AddQueryToPropsAndRemoveQuery(route) {

  var props = route.params;

  if (Object.entries(route.query).length > 0) {

    // combine query params into the props
    for (const [key, value] of Object.entries(route.query)) {
      props[key] = value;
    }

    router.push({ params: props, query: undefined })
  }


  return props;
}

export default router;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文