如何在SammyJS中处理路线和“儿童路线”?

时间:2014-02-13 14:34:58

标签: regex sammy.js

我正在构建一个基于两条路线的页面,它会加载一些面板。这是我想要做的:

我有一个列在页面上的案例列表。如果我访问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
});

0 个答案:

没有答案
相关问题