質問: 私がjqueryのバックグラウンドを持っているならば「angularjsで考える」? jquery でクライアントサイドアプリケーションの開発に慣れているとしますが、今度は angularjs を使い始めたいと思います。必要なパラダイムシフトについて教えてください。ここにあなたが答えを組み立てるのを助けるかもしれないいくつかの質問があります: クライアントサイドのwebアプリケーションをどのように設計および設計するのですか。最大の違いは何ですか? 私は何をやるのをやめるべきではありません。代わりに何をしたり使用したりする必要がありますか? サーバー側の考慮事項/制限はありますか? jqueryとangularjsの詳細な比較は探していません。
回答: angularjsとjquery: angularjとjqueryは、jqliteの機能を除いて、すべてのレベルでまったく異なります。angularjのコア機能を学び始めると、それがわかります(以下で説明します)。angularjsは、独立したクライアントサイドアプリケーションの構築を提供するクライアントサイドフレームワークです。 jqueryはdomを中心としたクライアントサイドのライブラリです。angularjsクールな原則 - あなたがあなたのuiにいくつかの変更が欲しいならモデルデータ変更の観点から考えてください。データを変更すると、uiは自動的に再描画されます。それがほとんど必要とされない限り、そしてそれがangular directivesを通して扱われるべきでない限り、あなたはdomを毎回遊ぶ必要はありません。この質問に答えるために、私はangularjsとの最初のエンタープライズアプリケーションに関する私の経験を共有したいと思います。これらは、jqueryの考え方を変え始めるところでangularが提供する最も優れた機能であり、ライブラリではなくフレームワークのようにangularが得られます。 双方向のデータバインディングは素晴らしいです。 私はすべての機能を持つグリッドを持っていたupdate、delte、insert。 ng-repeatを使用してグリッドのモデルをバインドするデータオブジェクトがあります。削除と挿入のために単純なjavascriptコードを1行書くだけで済みます。グリッドモデルが即座に変わると、gridは自動的に更新されます。更新機能はリアルタイムです。コードはありません。あなたは素晴らしい気分だよ! 再利用可能な指令はスーパーです。 1箇所に指令を記述して、アプリケーション全体で使用します。ああ、神様!!!ページング、正規表現、検証などにこれらのディレクティブを使用しました。本当にクールです! ルーティングは強力です: どのように使用するかは実装次第ですが、リクエストをルーティングしてhtmlとコントローラを指定するには、ほんの数行のコードで済みます(javascript)。 コントローラは素晴らしいです。 コントローラは独自のhtmlの面倒を見ますが、この分離は一般的な機能にも同様に有効です。マスターhtmlのボタンをクリックして同じ関数を呼び出したい場合は、各コントローラに同じ関数名を書いて個々のコードを書いてください。 プラグイン: アプリにオーバーレイを表示するなど、他にも似たような機能がたくさんあります。そのためにコードを書く必要はなく、単にwc-overlayとして利用可能なオーバーレイプラグインを使用すれば、これは自動的にすべての xmlhttprequest (xhr)リクエストを処理します。 理想的な restful architecture: 完全なフレームワークであることはangularjsをrestfulアーキテクチャで動作させるのに最適です。 rest crud apiを呼び出すのはとても簡単です。 サービス :サービスを使用して一般的なコードを記述し、コントローラ内のコードを少なくします。サービスは、コントローラ間で共通の機能を共有するために使用できます。 拡張性 :angularは、angularディレクティブを使用してhtmlディレクティブを拡張しました。 html内に式を書き、実行時にそれらを評価します。独自のディレクティブとサービスを作成して、追加の作業なしで別のプロジェクトで使用します。