我的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