2017-02-23 65 views
1

Angular 2被認爲是前端開發的完整框架。優點之一是以一種可管理的方式進行前端交互,與jQuery的各種功能形成鮮明對比。Angular 2的最佳實踐

。另一方面,jQuery是非常靈活的,其功能可以根據需求通過功能功能應用。它與純HTML代碼很好地協作,尤其是外觀設計師準備的漂亮模板。從這個前瞻來看,jQuery看起來更加敏捷。

應用Angular 2的最佳做法是什麼?它應該與jQuery,bootstrap和其他前端庫/框架混合在一起嗎?他們每個人應該承擔什麼責任?

+1

取決於需求,這並不意味着如果你使用angular2 jQuery不應該明確使用。尋找選擇。 Angular2擁有一切。 – Aravind

+0

使用什麼組件取決於需求。然而,可怕的是開發人員按照自己的偏好使用jQuery,並且使應用程序前端難以管理。因此,我期望在一起使用時採取最佳做法或至少提供指導方針。 –

+3

最佳做法是不要將jQuery與Angular2一起使用。 –

回答

4

由於這個問題是關於軟件設計角度的版本,你可以閱讀各種點意見答案,我不會假裝拘留'最好的答案',並會試圖堅持事實。

的jQuery最初是通過jQuery UI的插件,以及數據/異步管理設計爲一個DOM操作庫,再加上造型如許諾,推遲,AJAX調用。除了它們可以很容易鏈接的事實之外,這些不同的功能集並不會與其他功能相互作用太多。 jQuery不是一個框架,而是一個庫。

  • Angular2的documentation根本不建議操縱DOM元素。當需要的指南是使用它的Angular2的渲染器。
  • Angular2使用它的'http'類提供ajax調用。
  • Angular2發揮良好將rxJs Observables,Promises等允許您成爲異步行爲的主人。缺點是學習曲線不止陡峭。
  • CSS3現在在這裏,並且非常支持動畫。可以通過類綁定來更改組件的外觀。
  • 自舉可以在Angular2項目中使用,and doesn't need jQuery to run ,除非使用它的JavaScript庫

即使在一個項目中使用jQuery是令人信服的:

  • jQuery有一個偉大的過去,學習它是很容易的,有很多的用戶。
  • 說真的,它的表現非常好。圖書館只需要84kb的縮小。
  • jQuery擁有大量的插件,插件在angular2世界中沒有自己的繼任者。例如Boostrap'javascript'插件主要是(如果不是全部的話)jQuery插件。 see here
+0

您指出了我的問題背後的理性。 1)數據模型應該來自AJAX調用。 2)儘可能地防止DOM元素操作。 3)使用CSS3來改變外觀。 4)但是,jQuery擁有大量的插件和佈局模板,而其中大多數在Angular2世界中沒有後繼者。我們如何處理它們? –

+0

當我經歷了一些使用Angular 4和jQuery的項目後,我學會了如何平衡Angular 4和jQuery並將它們組合在一起。正如以上幾點所描述的,最大的挑戰是jQuery和Angular操縱DOM。我使用主HTML頁面(index.html)來包含所有jQuery的東西,並在一些Angular組件實例中調用jQuery函數,以避免衝突。一般來說,Angular有助於管理組件交互,而jQuery則有助於裝飾。 –

+0

更正:Bootstrap JS可以在沒有jQuery的Angular 2+中使用:https://github.com/valor-software/ngx-bootstrap – Ryall

1

一個Angulars核心思想是不是直接操縱的DOM,這是jQuery的核心理念去做。正如@GünterZöchbauer所說,除非你真的必須(這是非常罕見的),否則不要使用它。 jQuery更像是一個輔助庫,Angular是一個框架,應該這樣使用。
你當然也可以與引導混吧,而你應該只使用了樣式和使用角2版引導的,但:https://valor-software.com/ng2-bootstrap/#/https://github.com/ng-bootstrap/ng-bootstrap

至於

等前端庫/框架在一起嗎?

你不應該把它和另一個框架混淆在一起,這隻會混淆視聽。圖書館肯定不過,對於大多數流行的庫出存在(或將存在),它帶有打字稿支持等