ページの 2 つの部分 (ヘッダーとページ コンテンツ) を処理する 2 つのコントローラーがあるとします。ほとんどのアクションは、pagecontent.js (ページ コンテンツのコントローラー) で発生します。さまざまなビューをロードするための関数のセットがあります。ただし、ヘッダーには戻るボタンがあります。履歴を追跡し、戻るボタンがクリックされたときに、pagecontent.js で適切な関数を呼び出して特定のビューをロードしたいと考えています。これが私がやろうとしていることの例です:
pagecontent.js
$.Controller('Controller.Pagecontent', {
...
".home click": function(){
this.loadHome();
},
loadHome: function(){
$('#pagecontent').html('//views/home', {});
}
...
})
header.js
$.Controller('Controller.Header', {
...
".back click": function(){
if( HISTORY[0] == 'home' )
// call loadHome() from pagecontent.js
}
...
})
これらの関数をすべて header.js にコピーしたくありません。これは冗長であり、一部の関数には複雑なロジックが含まれているためです。
何か案は?