メインメニューを開く

差分

Knockout.js

146 バイト追加, 2012年4月11日 (水) 16:08
編集の要約なし
'''Knockout.js'''(のっくあうと)とは、[[MVVM]]パターンで[[UI]]([[HTML]])を動的更新できるようにしつつ、それでいて超簡素に[[ソースコード]]を書けるようにする[[JavaScript]][[フレームワーク]]である。
KnockoutのライバルとしてKnockout.jsのライバルとして[[Backbone.js]]の名前が出てくることが多いが、Backbone.jsは[[MVC]]、Knockoutは、Knockout.jsは[[MVVM]]なので別物だと思うがどうなんだろう?
KnockoutはKnockout.jsは[[ASP.NET MVC]]や[[jQuery]]の中の人が中心となって作っており、[[ASP.NET MVC 4]]に標準搭載される予定となっている。なお、Knockoutはに標準搭載される予定となっている。なお、Knockout.jsは[[ASP.NET MVC]]や[[jQuery]]が無くても単体で使える。現実的な話では少なくとも[[jQuery]]はあった方がいいが。
2012年4月6日時点の最新版であるKnockout 2.0.0は、わずかmin+gz版で13KBと非常に軽量だが、とてつもない破壊力を持っている。ただ[[マイクロソフト]]との関連性が強いことによる宗教上の理由により嫌悪されているのか、日本語の情報は皆無に近い。英語の情報は結構あるが少なくとも日本ではそんなものは誰得、無に等しい。[[Knockout]]はとの関連性が強いことによる宗教上の理由により嫌悪されているのか、日本語の情報は皆無に近い。英語の情報は結構あるが少なくとも日本ではそんなものは誰得、無に等しい。Knockout.jsは[[Twitter Bootstrap]]、[[PHP]]とあわせ[[strict]]教の信者には受け入れがたいと言われている。 == 関数 ==* [[Knockout.js/applyBindings関数|applyBindings関数]] == 組み込みバインディング ==* [[Knockout.js/可視バインディング|可視バインディング]]* [[Knockout.js/制御フローバインディング|制御フローバインディング]]** [[Knockout.js/foreach]]** [[Knockout.js/if]]** [[Knockout.js/ifnot]]** [[Knockout.js/with]]* [[Knockout.js/操作バインディング|操作バインディング]]** [[Knockout.js/click]]** [[Knockout.js/event]]** [[Knockout.js/submit]]** [[Knockout.js/enable]]** [[Knockout.js/disable]]** [[Knockout.js/value]]** [[Knockout.js/hasfocus]]** [[Knockout.js/checked]]** [[Knockout.js/options]]** [[Knockout.js/selectedOptions]]** [[Knockout.js/uniqueName]] === テンプレートのレンダリング ===* [[Knockout.js/template]] === 先進的なテクニック === === プラグイン ===* [[Knockout.js/mapping]]
== 使用例 ==
=== 使用例1 ===
knockoutjsによるKnockout.jsによる[[hello, world]]のようなもの。
<source lang="html5">
<!DOCTYPE html>
</html>
</source>
 
== 組み込みバインディング ==
* [[Knockout/可視バインディング|可視バインディング]]
* [[Knockout/制御フローバインディング|制御フローバインディング]]
** [[Knockout/foreach]]
** [[Knockout/if]]
** [[Knockout/ifnot]]
** [[Knockout/with]]
* [[Knockout/操作バインディング|操作バインディング]]
** [[Knockout/click]]
** [[Knockout/event]]
** [[Knockout/submit]]
** [[Knockout/enable]]
** [[Knockout/disable]]
** [[Knockout/value]]
** [[Knockout/hasfocus]]
** [[Knockout/checked]]
** [[Knockout/options]]
** [[Knockout/selectedOptions]]
** [[Knockout/uniqueName]]
 
=== テンプレートのレンダリング ===
* [[Knockout/template]]
 
=== 先進的なテクニック ===
 
=== プラグイン ===
* [[Knockout/mapping]]
== 関連項目 ==
匿名利用者