Ember.js 2.嵌套路由但非嵌套模板
Ember.js 2. Nested routes but non-nested templates
首先感谢大家对本论坛的付出
我遇到这种情况:
- mysite.com/authors(作者列表)
- mysite.com/author/1(作者 1)
- mysite.com/book/1(作者 1 的第 1 本书)
- mysite.com/cart/1(作者 1 的第 1 本书的购物车页面)
我需要这样的 url:
我的网站。com/author/1/1/购物车
但我不想要嵌套模板(每个页面都不同,我不希望在多个页面中使用相同的信息)。
有什么方法可以做到吗URL?
我的实际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'});
});
你有两个选择:
多个动态细分
只是不要嵌套您的路线,而是要有多个动态段。那是可能的:
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
路线
首先感谢大家对本论坛的付出
我遇到这种情况:
- mysite.com/authors(作者列表)
- mysite.com/author/1(作者 1)
- mysite.com/book/1(作者 1 的第 1 本书)
- mysite.com/cart/1(作者 1 的第 1 本书的购物车页面)
我需要这样的 url:
我的网站。com/author/1/1/购物车
但我不想要嵌套模板(每个页面都不同,我不希望在多个页面中使用相同的信息)。
有什么方法可以做到吗URL?
我的实际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'});
});
你有两个选择:
多个动态细分
只是不要嵌套您的路线,而是要有多个动态段。那是可能的:
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
路线