我的Ember.Router不断增长,看起来它很快就会保持超过三十个URL路线。现在,很多这些路线都做同样的事情,例如连接一个头部插座(可能占所有情况的80%)。避免Ember.Router中的代码重复?
有没有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或一些代码,你的问题? – zentralmaschine
你走了... – kraftwer1