AngularJS が jQuery よりも強力である場合、なぜそれほど強力なのでしょうか?
阿神2017-05-15 16:59:55
上記の答えは明らかに不合理です。私が ng を使用したことがないからかもしれません。ng が jq よりも強力である主な理由は次のとおりです。
Jquery は dom を手動で操作して要素を変更します。ng がデータを変更すると、自動的に dom に同期されます。 たとえば、表示するリストがあります:
リーリー
ng コード: $scope.list = [1,2,3],
リスト $scope.list[2] = 4
を変更します
$scope.list = [1,2,3],
修改list $scope.list[2] = 4
dom的ul第3个li就自动变成4了
而jq,代码大概需要:
<ul ng-repeat="i in list"><li>{{i}}</li></ul>
说白了就是ng执行要把数据修改了html就自动变了,jq的话修改数据了还需要自己修改html
而且,ng中,html(比如表单的input的value)变了后,数据自动变了,而jq还需要var data = $('input').val();
jq の場合、コードは次のようにする必要があります:
端的に言うと、ng実行中にデータを修正すると自動的にhtmlが変更されてしまいますが、jqでデータを修正しても自分でhtmlを修正する必要があります
。 さらに、ng では html (フォームの入力の値など) が変更された後、データが自動的に変更されますが、jq ではvar data = $('input').val();
も必要です。コード>これはデータの双方向バインディングと呼ばれます。 🎜 🎜もちろん、NG は単一ページのアプリケーションにのみ適しており、SEO には役に立ちません。これは別の問題です🎜。
滿天的星座2017-05-15 16:59:55
まず第一に、この 2 つはあまり比較できません。jquery の焦点は、開発者がページを迅速に開発できるように、さまざまな要素の選択と要素を選択するさまざまな方法を提供することです。しかし本質的には、それはプログラムのフレームワークではありません。さらに、多くのセレクター アングルはネイティブ ツールを使用して直接実装できますが、Angular はデータとページの自動バインディングによってもたらされる開発の利便性を重視しており、ページのインタラクションが比較的少なく、データのプレゼンテーションに重点を置くシナリオに適しています。 . 以下を使用します。
したがって、lz が比較したい場合、実際に比較する必要があるのは、backbone と angular です。
滿天的星座2017-05-15 16:59:55
私が長い時間をかけて書いた Markdown エディターのコードのほとんどは、実際には AngularJS をほんの少し実装しただけで、jQuery の多くの関数を自分ですぐに書いて実装しました。
jQuery のコア コードを読んだ後、jQuery は記述スタイルを提供するのに対し、AngularJS は本当に強力であり、自分で実装するのは難しいと感じました。JS の欠けている部分により、新しい考え方が開かれます。
もちろん、jQuery と AngularJS は異なることに焦点を当てており、それぞれの分野で独自のアプリケーションを持っています。
自分で実装する難易度という点だけで言えば、AngularJS は jQuery よりも優れています。
jQuery はコードに重点を置き、AngularJS はアーキテクチャと機能に重点を置きます。
参考: http://damoqiongqiu.iteye.com/blog/1926475 https://angularjs.org/
http://jquery.com/
phpcn_u15822017-05-15 16:59:55
機能的に言えば、これら 2 つはまったく比較できません。
コード全体の書き方を見ると、jqueryの方が上品に書かれているように感じます。しかし、実際には絶対というものはなく、結局は人それぞれ違います。
ringa_lee2017-05-15 16:59:55
実際には比較の余地はありません。jQuery は DOM を操作するための単なるクラス ライブラリですが、AngularJS は MVC (または MVVM) フレームワークです。
AngularJS は View とデータの完全な分離を実現しており、AngularJS が提供する双方向データバインディング機能により、データが変更される限り常に View が同期されます。 基本的に DOM を手動で操作する必要はありません。
もちろん、AngularJS は双方向のデータ バインディング機能に加えて、ルーティング、サービス、フィルター、テンプレート、命令、モジュール管理、依存関係の注入、単体テストなどの機能も提供します。
これを言って、この 2 つの違いを直感的に理解できるかどうかはわかりません。
PHP中文网2017-05-15 16:59:55
この質問は、ハンマーがドライバーより強いかどうかを尋ねるようなものです。強さは何ですか?
コンセプトが異なるため、どちらがより強力であるかを判断することはできません。これらはすべて非常に便利なツールです。
jqueryui と angularjs を比較して、それがばかばかしいと思う人もいます
Angular は開発全体のフレームワーク モデルであり、どのような種類のフレームワークであっても、その実装を支援するツールが必要です。現時点では、jquery がツールとして大きな役割を果たしており、非常に使いやすいです。アーミーナイフ、笑、つまり、Angular はフレームワークであり、JQuery はさまざまなレベルでの作業を担当します。もちろん、多くの人はこれが非常に強力であると考えています。 、この機能は構造が弱く、インタラクションが弱いページでは非常に便利なので、複雑な構造とインタラクションが強いページでは、Angular のバインディング機能の利点はすぐに役に立たなくなります。私の作品を例に挙げると、Angular はフレーム構造、フレームせん断構造、レンガコンクリート構造を含む家の建築構造として理解され、jquery は住宅の装飾スタイルとして理解されます。ヨーロッパ、モダン、東南アジアのスタイルを含む、この 2 つは独立したものであり、対立や選択的な比較は存在しないことがお分かりいただけたでしょう。
仅有的幸福2017-05-15 16:59:55
1 つは MVC フレームワークで、もう 1 つはライブラリです。 1 つは設計アイデアを外部に反映し、もう 1 つはネイティブ JS を簡素化および強化します。 jq を使用して独自のフレームワークを実装することもできます。したがって、比較の余地はありません。
大家讲道理2017-05-15 16:59:55
AngularJS により、チーム メンバーに JS 能力がない場合でも、Java 開発者がこの部分をより適切に作成できるようになりました。
js 機能が不足し、DOM 操作に熟練していないプログラマーには、非効率的だが一見使いやすそうなフレームワークである AngularJS が必要です
つまり、率直に言うと、AngularJS は、JavaScript 機能が不足し、フレームワークに大きく依存している Java プログラマーにとっては役に立たないソリューションです。
AngularJS は、非常にパフォーマンスを必要とする、ページを作成する場所に適している重量級のフロントエンド フレームワークです。パフォーマンスとインタラクションは高くありません;
要約: フロントエンドを理解していないプログラマーは、フロントエンドかバックエンドかに関係なく、常にバックエンドの考え方をフロントエンドに持ち込もうとします。AngularJS は、フロントエンドを理解していないプログラマーにとっての妥協的な解決策です。フロントエンドの技術的思考
淡淡烟草味2017-05-15 16:59:55
比較は単なる比較です。比較するにはあまりにも多くの側面があります。jQuery に慣れ親しんでから Angular を学ぶまでに、このプロセスを必ず経験することになります。それ自体には多くの傾向があり、jQuery の代わりに angular を使用する人が増えています。これは、どちらがより強力であるかを示している可能性がありますが、私は jQuery を好みます。