我如何在 vue 路由器中混合布尔和对象模式?

How can I mix Boolean and Object Mode in vue router?

如何在我的 Vue Router 中混合布尔和对象模式?:

props: true

props: { someRouteSpecificProps: "someValue"}

我还需要通过 router.push 发送道具。 所以:

//router
 {
      path: "somePath",
      name: "someName",
      props: { someRouteSpecificProps: "someSpecificValue" },
      component: successAndLogoutPage,
 },

//component
this.$router.push({
   name: "someName",
   query: this.$route.query,
   params: {
        ValueOnlyKnownInCompoent: 500000,
        AnotherValueOnlyKnownInCompoent: "foo",
   }
},

使用 Vue 2,Js 不是 ts。 像我一样做,将忽略组件中的道具。执行 props: true 将使用组件中的 props,但我仍然直接在路由器定义中使用 someRouteSpecificProps。

解决方法是使用函数模式:

props: (route) => {
    return { someSpecificProps: 'value here', ...route.params };
},

路由中提供了params,可以提供给props。

(来自 vue discord 的@PerpetualWar,根据谁的建议形成了解决方案)