使用Angular.JS和ASP.NET創建單頁應用

jopen 10年前發布 | 18K 次閱讀 Angular.JS

  英文原文:Creating Single Page Apps With Angular.JS and ASP.NET

  周三(4 月 2 日)的 Build 大會上,David Catuhe 和 Jon Galloway 做了一個關于將 AngularJS 用于 ASP.NET 應用程序的演講。他們為開發者提供了一種方式,可以快速構建流行的單頁 Web 應用。

  Angular 是由 Google 創建并運營的開源項目。顧名思義,這是一個基于 JavaScript 的庫,遵循模型-視圖-控制器(MVC)設計模式。如 Catuhe 和 Galloway 所說,Angular 使用依賴注入,使 ASP.NET 應用更加強大。要想啟用 Angular,只需要引入單個文件 angular.min.js。(NuGet 用戶可以獲取最新版本(beta)或穩定版本。)

  他們指出,Angular 并不是一個非此即彼的方案,你完全可以僅使用其中的頁面選取功能。不管怎樣,Catuhe 和 Galloway 都建議在項目的 Scripts 文件夾下創建一個“apps”目錄,來組織文件。

  壓縮 JS 文件時需要格外注意:由于會影響 Angular 的依賴注入,因此默認情況下對應用代碼進行壓縮會破壞應用程序本身。(Angular 教程文檔的“A Note on Minification”一節對此進行了詳細介紹。)

  要真正在頁面中激活 Angular,需要在 html 標簽中添加“ng-app”:

<html ng-app … >

  這可以通知 Angular 準備好做某些事情。Angular 通過其自帶的輕量級版本的 jQuery,使用$http 加載文件。如果項目已經安裝了 jQuery,Angular 將會使用該版本,以保持一致性。

  Catuhe 和 Galloway 還展示了一個示例應用,一個顯示并存儲“萬智牌”信息的單頁應用(SPA)。單頁應用只用一個視圖來構建 UI,而 Angular 本身使用路由來定義這些視圖。

  由于 Angular 中過深的鏈接會使 MVC 路由造成沖突,因此他們建議使用一個路由:

routes.MapRoute (
             name: "Catch all route for SPA",
             url: "App/{*catchall}",
             defaults: new{
                             controller = "Home", 
                             action = "Index"});

  還有一個關于顯示 HTML 的小技巧。如果 HTML 是視圖生成的,一切都沒有問題。但如果 HTML 來自文件(如 MyHTML.html),應該使用 IIS 重寫規則來改變 URL:

/myHTML.html -> /myHTML

  要想觀看完整的 demo 應用,請查閱該演講的 Channel9 頁面

來自: InfoQ
                    <span id="shareA4" class="fl">                          </span>
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!