2015-02-08 57 views
3

所以我以AngularJs開始,我看到你可以在AngularJS腳本中創建控制器和模塊。我的應用程序在asp.net MVC 4上運行,所以我應該將我的控制器轉換爲Angular或只使用我的MVC控制器。有什麼使用angularJS控制器的優點和缺點,有人可以詳細說明嗎?謝謝!AngularJS vs MVC控制器可以選擇什麼?

+0

我也是Angular的新手,但據我看到你的問題沒有意義,因爲NG控制器和MVC控制器是非常不同的東西。所以我不確定比較是合適的還是合法的。 – 2015-02-08 21:01:14

+0

儘管asp.net mvc和angular都具有模型,視圖和控制器,但它們位於不同的圖層上。 Angular是客戶端,而asp.net mvc是服務器端。將一個換成另一個是沒有意義的。他們可以並且應該並肩工作。 – heymega 2015-02-08 21:03:34

+0

您無法比較MVC 4與角度,因爲第一個是服務器端,第二個是客戶端。我會建議使用MVC 4來實現服務器端邏輯和Angular來實現客戶端邏輯。 – lujcon 2015-02-08 21:04:34

回答

4

AngularJS住在客戶端,而ASP.NET MVC住在服務器上。 AngularJS的控制器與ASP.NET MVC的控制器無關。當Web請求將從您的瀏覽器製作併發送到服務器時,控制器將找到該模型並將其綁定到視圖。然後服務器會發回給你的渲染視圖。當您的頁面將在您的瀏覽器中呈現時,腳本(包括angular的腳本)將由瀏覽器的解釋器JavaScript解釋。然後,您可能使用角度定義的每個動態模板都將與數據一起提供。任何行爲,如點擊按鈕或其他將由您的客戶端代碼處理的內容,都與ASP.NET MVC無關。這將是您使用的AngularJS或任何其他JavaScript框架的統治。

AngularJSASP.NET MVC之間唯一的相似之處在於它們都是兩個MVC框架。 MVC模式是其核心。

+0

我設法從MVC和Angular控制器中的API獲取數據,所以這讓我困惑,如果我可以使用角度獲取數據,爲什麼不使用Just angular。? – 2015-02-08 21:09:35

+0

@AlminIslamovic當然,您可以使用角度控制器從您擁有的任何可用API獲取數據,無論是否使用ASP.NET MVC編寫此API。這是您必須根據自己想要構建的內容單獨做出的決定。然而,一個應用程序 - 我正在討論帶有動態頁面的Web應用程序,而不是靜態文件 - 它有一部分留在服務器中,一部分留在客戶端。說離開,我的意思是你必須編寫一些服務器端代碼,在C#,PHP,JAVA,Python等,在一天結束時,它將最終到HTTP響應,包含HTML,JSON無論什麼。 – Christos 2015-02-08 21:17:26

+0

@AlminIslamovic這就是說,我沒有看到你如何放棄這一點,只使用角度的控制器來建立你的應用程序。 – Christos 2015-02-08 21:18:11