最近 agularjs を勉強(qiáng)していて、angular は DOM 操作に jquery ほど使いにくいことがわかったので、両方を併用したいのですが、そうすることはお?jiǎng)幛幛扦蓼护螭妊预铯?、質(zhì)問しました。この 2 つを組み合わせて使用??することに何か欠點(diǎn)はありますか?維持するのは難しいでしょうか、それとも両者は衝突するのでしょうか?
まず、angular
と jquery
を使って実裝する場合、考え方が全く異なります。 angular
和用 jquery
做實(shí)現(xiàn)時(shí),他們的思想是完全不一樣。
angular
要求我們不要有 先設(shè)計(jì)頁面,然后用DOM來展現(xiàn)它而是總是以架構(gòu)的思維去思考
的基礎(chǔ)。jquery
是在拓展和增強(qiáng)dom
的基礎(chǔ)上壯大的,它僅僅只是一個(gè)庫一個(gè)以dom
為基礎(chǔ)的庫(當(dāng)然,它也有很多其它不以dom為基礎(chǔ)的的功能ajax,utility等)
其次 angular
的數(shù)據(jù)綁定特性使的在用jquery
來操作dom
變得多余。
回到問題:
兩者結(jié)合有什么弊端?
答:不必要也不值得。多數(shù)的js插件啊拓展之類的其實(shí)可以用很少的js重寫。而且會(huì)使代碼更少更簡潔。
至于沖突,其實(shí)他們是可以很好結(jié)合使用的。
關(guān)于維護(hù)有點(diǎn)區(qū)別。是否易于維護(hù)取決于設(shè)計(jì)和規(guī)范。單就angular和jquery的比較來說。angular更容易維護(hù)。原因便是由angular
angular
では、最初にページをデザインしてから DOM を使用してそれを表示するのではなく、常にアーキテクチャの観點(diǎn)から考える
ことが必要です。 jquery
は、dom
の拡張および強(qiáng)化に基づいて開発されています。これは、dom
に基づいた単なるライブラリです (もちろん、これも同様です)。には、ajax、ユーティリティなど、DOM に基づいていない他の多くの機(jī)能があります)angular
のデータ バインディング機(jī)能により、jquery での操作が可能になります。 code> dom
は冗長になります。
質(zhì)問に戻ります:
- この 2 つを組み合わせるデメリットは何ですか?
答え: それは必要ではなく、価値もありません。ほとんどの js プラグインと拡張機(jī)能は、実際にはほんの少しの js で書き換えることができます。そして、コードはますます少なくなり、より簡潔になります。 ??
??対立に関しては、実際には非常にうまく組み合わせて使用??できます。 ??
??メンテナンスに関しては少し異なります。メンテナンスの容易さは設(shè)計(jì)と仕様によって異なります。 AngularとJQueryを比較してください。 Angular の方がメンテナンスが簡単です。その理由は、angular
の特性によって決まります。 ??
??StackOverFlow の素晴らしい Q&A の感謝を參照してください??
??上??
Angular
操作DOM
是有那么一點(diǎn)麻煩,不過當(dāng)你用熟了它的那一套東西之后,就會(huì)發(fā)覺其實(shí)Angular
操作DOM
也是不錯(cuò)的。
之所以不建議兩者結(jié)合起來使用,很大程度是因?yàn)槭褂昧?code>jQuery后,測試
和維護(hù)
都變得很困難;而Angular
是測試驅(qū)動(dòng)的,所以不建議這樣做。
如果在剛開始覺得使用Angular
的那一套很不方便的話,是可以使用jQuery
的;官方也有關(guān)于使用jQuery
説明、詳細(xì)はここでご覧いただけます。Angular は jQuery ライブラリを使用しますか?