2012-02-23 13 views

答えて

11

ノックアウトは、MVVMのパターンで、javascriptのViewModelで動作します。これがMVCとうまく機能する理由は、JSONのjavascriptモデルとのシリアライゼーションは非常にシンプルです。

また、MVC4にも含まれます。

http://channel9.msdn.com/Events/TechDays/Techdays-2012-the-Netherlands/2159

しかし、メリットはMVVMがリッチUIのを開発することができますことを、本当に、次のとおりです。ここで(Microsoftの新しいWeb API機能で)MVC4で単一ページのアプリケーションのためにそれを使用する方法のノックアウトの作成者によってビデオがあります(SilverlightやWPF MVVMに精通していれば、私の言うことを知ることができます)。

のViewModelの考える:

var myViewModel = { myValue: 'some text' }; 

あなたは

$('#textBox').change(function() { myViewModel.myValue = $(this).val(); }) 

とあちこち

$('#textBox').val(myViewModel.myValue) 

の逆、またはの特別なコードの取り扱いをバインドする必要はありません。ノックアウトであなたのビューの計算されたプロパティ。非常に素敵なオブジェクト指向の方法ですべてを行うことができます。

<input type="text" data-bind="value: myValue" /> 

すべてのイベントが表示されます。

+0

どうもありがとうございましたポールを読むことができます。はい私はWPFのMVVMを知っているが、私は私のモデルで10のプロパティを持っていると私はビューのモデルでも同じデータをバインドするために同じ10のプロパティを作成する必要があると仮定してMVCアプリケーションでは、だから、なぜ私は余分なコードを行うのですか? –

+0

データが変更されたときにユーザーインターフェイスが直ちに変更されます。あなたが "好きな"アップデートを必要としない場合、ノックアウトは不要です – soniiic

+0

ok。つまり、あるデータが自分のデータに変更された場合、UIはサーバーへのリクエストなしに自動的に値を更新します。 –

2

benifitsは、柔軟なクライアント側のJavaScriptコードより構造化されています。 あなたはより良いUIを分割することができ、 "a-single-page-website"で終わることができます... jsonのリクエストのみを行います(望むなら)。 、等...

そして、私のために本当にクールなと思うが、観測を経由して結合されて...

http://knockoutjs.com/documentation/observables.html

また、このチェックアウト: MVC + Knockoutjs =クライアント側MVVM至福 http://channel9.msdn.com/Events/TechDays/Techdays-2012-the-Netherlands/2378

0

利点は、多くの、いくつかの優れた機能は以下の強調表示されます:

  • 実現可能性は、データモデル内のUI要素といつでも接続すること。
  • 複雑で動的なデータモデルを簡単に作成できます。
  • データバインディングは、格納されたデータを操作し、それをユーザーインターフェイスに反映させ、定期的なバックエンド変更でUIを更新するのを助けます。
  • イベント駆動型プログラミングモデルをサポートし、100%のカスタマイズを提供します。
  • IE、Firefox、Safari、Bing、Chromeなど多くのメインストリーム ブラウザをサポートしています。
  • サーバー上のプレゼンテーションロジックとマークアッププレゼンテーションでHTTP対話が盛り上がるのを防ぎます。
  • ウェブページでビジネスルール、データセキュリティ、およびより詳細な制御が確実に適用されます。
  • また、セキュリティの強化のためワークフローに関して参照整合性と多数の検証機能を提供しています。
  • Knockoutjsは優れた拡張性を提供します。アプリケーションを構築するための多数の拡張ポイントとユーティリティがあります。

あなたは私たちの記事からより多くのここでの返事のためのhttps://cynere.com/advantages-of-knockoutjs

関連する問題