Entries

スポンサーサイト

カテゴリ:スポンサー広告
更新日:--------
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

backbone.js - Viewの部品化

カテゴリ:backbone.js
タグ: backbone.js  ajax 
更新日:2012-12-27
backbone.jsの機能をひと通り学習したので、いっちょアプリでも作ってみようか、と始めたんだけど。いきなり、Viewで悩んでたり。

今までAjaxの操作性というのは、ページ単位で考えていたんだよね。メインカラムとサイドバーくらいには分けて考えもできたけど、あんまり細かく分けて考えることができなかった。DOMツリーをパーツに分けるのは、テンプレートである程度できるんだけど、APIの操作と連携させようとすると、ページ(主要機能)全体で考えたほうが楽だったからだ。

backbone.jsのViewは、DOMツリーに対してイベントを設定する機能になるようだ。これなら、DOMツリー単位で部品化ができそうだと思った。しかも、モデルと連携させることで、APIの操作も独立させられる。

さて。悩んでしまったのは、どの単位でDOMツリーを分けるのか?

モデルと連携する部分は、割と簡単そうなんだよね。マスタを一覧表示して、ひとつ選んで編集、なんて画面を考えると、一覧全体のView、一覧の個々の要素のView、編集用のViewあたりに分けられる。それぞれにModel(一覧はCollectionかな)を連携させれば、編集でモデルを更新したら、一覧の表示も連動するから、これは考えやすい。ページ単位で考えていたのは、この連携の書き方がよくわからなかったからなんだよね。

問題は、モデルと連携しない部分。例えば、メニューとか。ulリストなんかで書いたものをjQueryで動きをつける、なんてのがよくあるパターンか。

これをViewでくくっちゃう。のは、なんか良いような気がする。
で書いてみる。と、これってJQueryのプラグインにしちゃうほうがいいんじゃね、とか思ったり。
でも、プラグインを使っても、Viewでまとめといた方がいい・・・よね?

なんか、変なところで悩んじゃったなぁ、と自分でも思う。こういうのは、考えるだけでは結論が出ないので、とりあえず、htmlのbody部は、すべてbackbone.jsのView化する、という方針でやってみようかな、と考えている。

なんにしても、できるだけ細かい単位でView化していくのが良さそうに感じている。
スポンサーサイト

Appendix

プロフィール

いむら@fintopo いむら@fintopo

フリーのシステムエンジニア兼プログラマです。趣味はガーデニングとカメラ。2017年4月にα7IIを買いました。フルサイズ一眼初心者です。

このページのQRコード

季節暦

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。