私のEmber.Routerはどんどん大きくなり、まもなく30を超えるURLルートを維持するようです。現在、これらのルートの多くは同じことを行っています。たとえば、ヘッダーアウトレットを接続しています(すべての場合の80%)。
これらの冗長性を回避するためのEmber.js-wayはありますか?または、重複した部分を関数に移動して呼び出す必要がありますか?
アップデート
ご覧のとおり、3つの異なるルート(記事、投稿、ユーザー)があります。それらのうちの2つはヘッダー出口を接続しますが、3つ目は接続しません。ここで、ヘッダー出口を接続する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());
}
})
})
});