3

私たちのアプリケーションでは、すべてのクライアント側のスクリプトにjqueryを使用しています。スクリプトは、最初は簡単なdom操作として開始されましたが、時間の経過とともにボリュームが増加し、維持するのがはるかに困難になる可能性があります。スクリプトを変更すると一部の機能が損なわれるという点です。そのため、knockout.jsを使用して、構築した混乱をクリーンアップすることを計画しています。私の質問は、knockout.jsに対応するためにどの程度の構造変更を行う必要があるかです。コードを見ずに質問に答えるのは難しいと思いますが、一般的な意見をお願いしています。このような状況で自分を見つけたらどうしますか?

編集:

コード構造に関する詳細:

Asp.netMVCフレームワークを使用しています

クライアント側のコードの約30%は、サーバーへのajaxリクエストの作成を処理し、その応答に基づいてUiに変更を加えます。

ユーザーアクションに基づいてUi要素を表示および非表示にするコードがたくさんありますが、そのほとんどは反復的であり、これは自分のせいです。

これは、サーバーの応答またはユーザーのアクションのいずれかによってUIを操作するだけで、計算や多くのロジックを必要とするものを実行していないことについてです。

4

1 に答える 1

4

私はASP.NETMVC3プロジェクトに取り組んでおり、あなたと同じように、いくつかの単純なDOM操作にjQueryを使い始めましたが、時間が経つにつれて、jQueryを使用して管理するためのクライアント側のロジックがたくさんあることになりました-それで私はknockoutJSに切り替え始めました。

移行を開始する前に、 http: //learn.knockoutjs.com/にあるすべてのすばらしいturoialを調べました。用語(ビューモデル、バインディング、カスタムバインディング、オブザーバブル、ユーティリティ関数など)といくつかの用語を理解するためです。作成できるさまざまなバインディング。

次に、アプリケーションに最適な方法でビューモデルの作成を開始しました。特に、その部分は、作成しているアプリケーションのタイプに大きく依存します。私の場合、さまざまな条件が満たされたときにクライアントを簡単に更新するために、多くのko.observable()「」と「」を使用しました。ビューモデルが登場し始めたとき、適切なバインディング(、、、、、、など)をko.observableArray()使用してビューを更新し始めました。このようにして、常にある程度の進捗を確認することができました。foreachwithtextcssattrenable

つまり、要約すると、使用方法の学習を開始し、ビューモデルの定義を開始して、クライアント側を表す必要がある状態を把握します。次に、開始(再)-ビューの実装-「古い」jQueryコードの一部を「1つずつ」置き換え、いくつかの行の保存を開始して、よりドライなビューの実装を取得します;)

そしてところで-StackOverflowとhttp://knockoutjs.com/documentation/introduction.htmlがあなたの友達になります-何か疑問がある場合は、ほとんどの場合、ドキュメントにあります-そしてそれが非常に具体的(または難しい)である場合を見つけるために、StackOverflowですでに尋ねられている関連する質問を見つけるのは非常に簡単であることがわかりました。

- アップデート:

あなたと同じように、私も一連のAJAXリクエストを持っています-ボット私はクライアントへの非同期リアルタイムメッセージングにもSignalRを使用しています-そして私は間違いなくオブザーバブルがこの目的に非常に役立つことを発見しました-したがって、knockoutJSの特定の部分を推奨する必要がある場合オブザーバブルオブザーバブル配列計算されたオブザーバブルに非常に注意を払い、慣れていく必要があります。

于 2012-08-28T18:09:15.690 に答える