我有两个单独的路线停车和汽车(不是嵌套路线)。
停车路线具有动态段,如停车id /parking/21
和汽车具有汽车名称和id /car/ford/12
- 路由器.js:*
Router.map( function() {
this.route("parking", { path: "/parking/:parkingId"})
this.route("car", { path: "/car/:carName/:carId" })
});
当从停车路线过渡到汽车路线时,我需要一个类似(/parking/21/ford/12)
的url
2条答案
按热度按时间1l5u6lss1#
如果您不想嵌套,那么您需要在
car
路由中包含完整的URL,如下所示:当转换到
car
路线时,您需要再次通过所有三个动态路段,如下所示:或者:
lndjwyie2#
我认为你的解决方案是嵌套航线:
然后将现有的逻辑从
parking
模板移到parking.index
路由中,这样就有3个路由:parking
parking.index
与/parking/1
之类的URLparking.car
与/parking/1/car/ford/7
之类的URL然而,你永远不会 * 只 * 在
parking
路线中。你要么在parking.index
中,要么在parking.car
中。从
parking.index
和parking.car
路线,您可以从Route
访问parking
路线的模型和this.modelFor('parking')
。您可以使用
transitionTo('parking', 1)
或transitionTo('parking.car', 1, 'ford', 7)
进行过渡。