【发布时间】:2017-08-03 00:33:56
【问题描述】:
我正在使用 pushState,并且不使用哈希作为 URL 结构。
我有一个路由,它有一些参数绑定 - 一些可选的:
route: [
'chart/:chartType/:id',
'chart/:chartType/:id/:view?',
'chart/:chartType/:id/page/:page?',
'chart/:chartType/:id/:view?/page/:page?'
],
然后我得到了我的 route-href,在那里我有了必要的绑定:
route-href="route.bind: chart; params.bind: { id: chartId, chartType: type, view: viewType, page: pageNum }"
...但是如果我不总是想要route-href 的所有路由参数怎么办?例如,我希望能够仅链接到使用 chartType 和 id 的路线,而不必为我在这条路线上拥有的每个参数组合创建单独的路线。
我知道我可以使用“?”在路由器配置中指定一个可选路由,但是如何在我的 route-href 链接中使参数可选?
这样做会引发错误:
route-href="route.bind: chart; params.bind: { id: chartId, chartType: type, view?: viewType, page?: pageNum }"
我似乎无法使用.bind 语法,像这样(这也是错误):
route-href="route.bind: chart; params.bind: { id: chartId, chartType: type, view.bind: hasViewParam, page.bind: hasPageParam }"
这里有什么神奇的语法技巧?
【问题讨论】:
标签: parameters binding routing aurelia router