我需要以两种方式路由到某个组件——一种是带参数的,另一种是不带参数的。我已经搜索了可选参数,但不知何故找不到太多信息。
所以我的路线:
{
path: '/offers/:member',
component: Offers,
name: 'offers',
props: true,
meta: {
guest: false,
needsAuth: true
}
},
当我以编程方式调用参数时,一切都很好
this.$router.push({ path: /offers/1234 });
但是我也需要通过导航这样称呼它
<router-link to="/offers">Offers</router-link>
提供
组件接受道具
props: ['member'],
以及用作此类的组件
<Offers :offers="data" :member="member"></Offers>
现在,我设法让它工作的丑陋方式是复制路线,让其中一个不带道具:
{
path: '/offers',
component: Offers,
name: 'offers',
props: false,
meta: {
guest: false,
needsAuth: true
}
},
它实际上是有效的,但我对它不满意-也在开发模式下vuejs警告我[vue-router]重复命名路由定义:{name:“优惠”,path:“/优惠”}
当然有一种方法可以在组件调用:member=“member”
中执行可选参数?
此外,你还可以发送不同的参数,从那里你可以调用你的路线。
<router-link
:to="{
name: 'ComponentName',
params: { member: {}, otherParams: {} }
}"
>
对于匹配模式的高级路线,手册说:
vue router使用路径到regexp作为其路径匹配引擎,因此它支持许多高级匹配模式,例如可选的动态段、零或多个/一个或多个需求,甚至自定义regex模式。查看这些高级模式的文档,以及在vue路由器中使用它们的示例。
regexp页面/手册的路径=
只是添加了一个问号
将使其成为可选。
{
path: '/offers/:member?',
...
},
它适用于Vue路由器2.0以后的版本。
资料来源:https://github.com/vuejs/vue-router/issues/235#issuecomment-245447122
所以我有一些路线,比如<code>/category/tech</code>和<code</categority/tech/new<code>和<code>/category/tech/old</code>等等 他们都使用 或者我必须分别定义它们,就像
我试图创建一个符合以下所有URL的路由: 这是我目前的路线: 根据关于https://github.com/rackt/react-router/blob/master/docs/guides/basics/RouteMatching.md 此路由应该完全匹配,但与上面的URL都不匹配。 我需要做什么来支持这个可选参数? 我在React路由器版本0.13.3,如果我删除,那么我可以匹配第一个URL
问题内容: 我有一条看起来像这样的路线: 但是,这行不通-如果我打电话,它会到达路线,但是如果我打电话,它不会。 是否可以有一个可选的splat参数,或者我必须使用正则表达式来检测到这一点? 编辑 : 更清楚地说,这是我要达到的要求: 第一和第二个参数是 必需的 第一个参数是静态的,第二个参数是命名的参数。 可以附加任意数量的 可选 附加参数,并且仍然可以实现。 问题答案: 这适用于Express
例如,在具有分页列表的路由上,网址可能如下所示,表示我们已加载第二个网页: 使用指令和来传递查询参数。例如: 或者,我们可以使用服务通过JS跳转: 读取查询参数 See Official Documentation on Query Parameters
问题内容: 我想用可选的path参数声明一个路径,因此当我添加它时,页面会做一些额外的事情(例如,填充一些数据): http:// localhost / app / path / to / page <=渲染页面 http:// localhost / app / path / to / page / pathParam <=根据pathParam使用某些数据渲染页面 在我的React Rout
我想在 Azure 函数中使“中间”路由参数成为可选参数。前任: 如果我给MyOptionalValue一个值,则此方法有效。例如: /SomeRoute/123/AnotherRoute 但如果我没有,则返回404:例如:/SomeRoute/AnotherRoute 有人知道有没有办法解决这个问题,这样我就不必创建两个单独的函数了?我环顾四周,看到的只是人们使用可选路由参数作为序列中的最后一个