我正在构建一个基于两条路线的页面,它会加载一些面板。这是我想要做的:
我有一个列在页面上的案例列表。如果我访问http://example.com/#case/1,我想显示有关id = 1的案例的信息。
如果我访问http://example.com/#case/1/item/1我想显示有关id = 1的案例的信息,还要显示有关id = 1的项目的信息。
到目前为止,我已经设置了以下路线:
this.get('#case/:id', function () {
console.log('case route');
});
this.get('#/case/:caseId/item/:itemId', function () {
console.log('item route');
});
如果我访问上面提到的链接,第一个链接就会显示案例信息。但是如果我访问第二个链接,则会触发两个路由。首先是项目路线,然后是案例路线。但是,在处理项目路径时,我不会执行相同的代码块。
我如何告诉Sammy只处理一条或另一条路线 - 虽然路线的一部分与.get()路线匹配?
我可以使用捕获组构建正则表达式,但是如何从get函数中访问捕获组?
this.get(/\#case\/(\d)+/, function() {
//Use case id somehow
});