tupai.jsは大規模JavaScript開発のためのMVCフレームワーク
- 同じ役割を持つクラスを1つのパッケージにまとめることにより、そのクラスの持つ意味がわかりやすくなります。
- 同じ名前を持つクラスが複数ある場合、名前の衝突を避けることができます。
- パッケージを使用することにより、クラス・メンバ変数・メソッド・コンストラクタにアクセス制限をつけることができます
- マークアップとエンジニアの役割分担が明確になります。
- カスタマイズ可能なテンプレートエンジン(mustacheなどと連携することも可能)
- プロジェクトやソースコードの自動作成
- テスト用サーバ
- リリース用ファイルの作成
nodejsをインストール(ダウンロード)した上で、tupaijsをインストール
npm install tupaijs
tupaijsコマンドを使って、プロジェクトを作成
tupaijs new helloworld
サーバを起動
cd helloworld; tupaijs server
ブラウザーでプレビュー
http://localhost:9800
That's ALL!!!
tupaijsコマンとで、SubViewControllerを追加
tupaijs g controller sub
templates/helloword/Templates.htmlを編集 data-ch-templateが[helloworld.RootViewController.content]のdivに、buttonを追加
<button data-ch-id="btnGotoSub">goto sub</button>
同じく、data-ch-templateが[helloworld.SubViewController.content]のdivに、buttonを追加
<button data-ch-id="btnBack">back</button>
まず、画面に表示されているテキストの内容を変更するために、viewInit functionは下記のように修正
viewInit: function() {
var view = new cp.View({
template:cp.Templates.get('helloworld.RootViewController.content'),
templateParameters: {
lbl: 'RootViewController'
}
});
this.setContentView(view);
},
次は、viewDidLoad functionは下記のように、ボタンの処理を追加
viewDidLoad: function (view) {
var This = this;
view.findViewById('btnGotoSub').bind('click', function() {
This._window.transitWithHistory('/sub');
});
},
まず、画面に表示されているテキストの内容を変更するために、viewInit functionは下記のように修正
viewInit: function() {
var view = new cp.View({
template: cp.Templates.get('helloworld.SubViewController.content'),
templateParameters: {
lbl: 'SubViewController'
}
});
this.setContentView(view);
},
次は、viewDidLoad functionは下記のように、戻るボタンの処理を追加
var This = this;
view.findViewById('btnBack').bind('click', function() {
This._window.back();
});
bocelli.hu bocelli.hu@gmail.com