首先,感谢大家在本论坛上的努力。
我遇到这种情况:
我需要一个这样的网址:
mysite.com/author/1/1/cart
但我不想要嵌套模板(每个页面都不同,我不想在很多页面中使用相同的信息)。
有没有办法获得该网址?
我的实际 router.js 是:
Router.map(function() {
this.route('index', {path: '/'});
this.route('login');
this.route('authors', {path: '/authors'});
this.route('author', {path: '/author/:author_id'});
this.route('book', {path: '/book/:book_id'});
this.route('cart', {path: '/cart/:cart_id'});
});
答案 0 :(得分:0)
您有两种选择:
不要嵌套你的路线但是有多个动态段。多数民众赞成可能:
this.route('cart', {path: '/cart/:author_id/:cart_id'});
这将为您提供这样的路线:
<强> /cart/1/A
强>
这将呈现作者1和购物车A
cart
路线
所以你可以拥有这个路由器:
this.route('author', {path: '/author/:author_id'}, function() {
this.route('cart', {path: '/cart/:cart_id'});
});
现在您的问题是,如果您将作者数据放入/author
路线,它也会在author.cart
路线上显示。但一个简单的解决方案是将author
路线设为空,只需{{outlet}}
作为模板,并将作者的内容放入author.index
路线。
这将为您提供如下路线:
<强> /author/1
强>
这将呈现作者1的author.index
路线
<强> /author/1/cart/A
强>
这将呈现作者1和购物车A
author.cart
路线