本人最近在學(xué)習(xí)agularjs, 發(fā)現(xiàn)如果說是對(duì)於dom操作angular 並沒有jquery來的好用,所以希望將兩者結(jié)合使用,但是有人就對(duì)我說不建議這麼做,問一下,將兩者結(jié)合使用有什麼弊端嗎?是維護(hù)困難,還是兩者會(huì)產(chǎn)生衝突?
先用 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ì)使程式碼更少更簡(jiǎn)潔。
至於衝突,其實(shí)他們是可以很好結(jié)合使用的。
關(guān)於維護(hù)有點(diǎn)差別。是否易於維護(hù)取決於設(shè)計(jì)和規(guī)範(fàn)。單就angular和jquery的比較來說。 angular更容易維護(hù)。原因便是由angular
的特性所決定的。
參考StackOverFlow精彩問答賞析
以上
Angular
操作DOM
是有那么一點(diǎn)麻煩,不過當(dāng)你用熟了它的那一套東西之后,就會(huì)發(fā)覺其實(shí)Angular
操作DOM
也是不錯(cuò)的。
之所以不建議兩者結(jié)合起來使用,很大程度是因?yàn)槭褂昧?code>jQuery后,測(cè)試
和維護(hù)
都變得很困難;而Angular
是測(cè)試驅(qū)動(dòng)的,所以不建議這樣做。
如果在剛開始覺得使用Angular
的那一套很不方便的話,是可以使用jQuery
的;官方也有關(guān)于使用jQuery
的說明,詳情可以看這裡Does Angular use the jQuery library?。