【发布时间】:2012-11-16 13:15:39
【问题描述】:
我的 Ember.Router 越来越大,看起来它很快就会维护 30 多个 URL 路由。现在,很多这样的路由都做同样的事情,例如连接一个头插座(可能在所有情况下的 80%)。
有没有一种 Ember.js 方法来避免这些冗余?或者我应该只是将重复的部分移动到一个函数中并调用它?
更新
如您所见,共有三种不同的路径(文章、帖子和用户)。其中两个连接头插座,而第三个不连接。现在想象一下,将有 25 条路由连接头出口,而 5 条不连接。如何避免这些重复?
App.Router = Em.Router.extend({
root: Em.Route.extend({
articles: Em.Route.extend({
route: "/articles",
connectOutlets: function(router) {
router.get("applicationController").connectOutlet("header", "header");
router.get("applicationController").connectOutlet(articles, App.Article.find());
}
}),
posts: Em.Route.extend({
route: "/posts",
connectOutlets: function(router) {
router.get("applicationController").connectOutlet("header", "header");
router.get("applicationController").connectOutlet("posts", App.Post.find());
}
}),
users: Em.Route.extend({
route: "/users",
connectOutlets: function(router) {
// Don't connect the header here!
router.get("applicationController").connectOutlet("users", App.User.find());
}
})
})
});
【问题讨论】:
-
你能在你的问题中添加一个 jsfiddle 或一些代码吗?