我有一个产品索引页面需要多次使用:
# All products
product-index -> product
# Categorized products
category -> subcategory -> product-index -> product
# A persons products
profile -> product-index -> product
如您所见,product-index
和product
路由嵌套在多种情况下。在所有情况下,每个视图都是一个全屏页面,用户可以从所有页面导航回到根页面。
我的想法是像这样配置路由器:
// router.js
this.resource( "products", function() {
this.route( "product", { path: "/:product_id" } );
} );
this.resource( "categories", function() {
this.route( "category", { path: "/:category_id" }, function(){
this.resource( "products", function() {
this.route( "product", { path: "/:product_id" } );
} );
} );
} );
this.route( "profile", function() {
this.resource( "products", function() {
this.route( "product", { path: "/:product_id" } );
} );
} );
但是我想知道上面是否是正确的方法,或者我可能总是链接到同一产品索引页面并过滤产品。 (例如products?cat=bags
或products?user=12
)
此外,当我要使用第一个解决方案时,我需要能够重新使用我的products controller
,但我还不确定。
现在我想知道做什么是正确的,贪婪的,为什么?