Vue.js
全然一定しない。今日はVue.js。
こちら参照させていただく。
Vue.js資料まとめ
MVVM
View - ViewModel - Model
という構成。ViewModelって何だ!理解して説明する図を描いてみよう!
と思っていたけど最高な図が既に描かれていたので参照。
MVVMフレームワーク vue.js を使ってみた - 水無月の余韻 開発Sc.
データの双方向バインディング
html内に{{データ名}}
と書いておくと、javascript側で作成するvueオブジェクト内のデータとリンクさせる(=バインドする)ことができる。
js側でその値を変更するとブラウザ上の要素ツリーにも反映されて表示が変わる。
逆に要素ツリー側でユーザがそのデータを変更(inputタグ中などだとユーザから変更できるので)すると、js側でもその値が変わる。
これが双方向バインディング。
一度対応関係を定めてしまえば、jsのvueオブジェクト中のデータを操作するだけでViewが操作できる。
いちいち要素ツリーを辿って操作する必要はない。
また、html中の要素には「ここをクリックしたらvueオブジェクトのこのメソッドを呼ぶ」といった定義ができる。
View屋さんとViewModel屋さんの間では、
+ この名前のデータにはこのデータを入れるよ
+ この名前のメソッドにはこの機能を持たせるよ
ということだけ取り決めておけばお互いに好きに作れそう。もし別の人が担当するなら、ですが。
そして更に、ViewModelのメソッドから呼び出す関数としてModel層のビジネスロジックは定義される感じ。
実際にViewModel層のデータを書き換えるのはViewModel層のメソッドからのみ。
そういうことですね!
いいじゃんうまく動きそうじゃん。
jQueryプラグイン使いたい
Vue.jsのView ModelにjQueryプラグインを統合する - Qiita
Auto focus new field (vue@master) - JSFiddle
自分はjQueryプラグインを使ったこと無いのだが、これを使う方針で周りがものを作っている。
なのでVue.jsを調べつつそれにも乗っかる方向。