私はExtJsを勉強していて、私の将来のプロジェクトを編成する最良の方法を探しています。 私はこのアーキテクチャでは好きではない何かがあるExtJSのMVCのチュートリアルhttp://docs.sencha.com/ext-js/4-0/#!/guide/application_architectureExtJsのコントローラとビューを切り離す
を開始しました: コントローラは、ビューウィジェットについて「知っている」と、このよう
this.control({
'viewport > userlist':{
itemdblclick:this.editUser
},
'useredit button[action=save]':{
click:this.updateUser
}
});
イベントリスナーを追加します私たちは大きなを始めているが、 500以上のフォームを持つプロジェクト。 私はこのような大規模なプロジェクトで有益であり、このアプローチは大きな混乱を招くでしょう。 コントローラーとビューを切り離す方法はありますか?
たとえば、GWTでは、Presenterはビューの内部情報を知らずに というMVPパターンを使用し、「表示」インターフェイスでビューとやり取りします。 Javascriptにはインターフェイスがありませんが、Extjでそれらをエミュレートする方法があるかもしれません。
私は私のコントローラは、このようなものにしたいと思います:
editButton = viewInterface.getEditButton();
editButton.on('click', function(btn, e, eOpts) {
eventBus.fireEvent(editUserEvent);
});
が、それは可能ですか?
ありがとうございます。イベントバスについて何か言っていただけますか? ExtJs4に実装されていますか? – mik
正確にはどういう意味ですか? – sha
私はこのアプローチを2番目にしたいと思います。コントローラーに可能な限りビューを知らせ、fireEvent.editUser(user)などの高レベルイベントを生成させ、コントローラーにこのイベントを聞かせさせます。 – slipset