<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        使用AngularJS開發一個大規模的單頁應用(SPA)-技術翻譯

        來源:懂視網 責編:小采 時間:2020-11-27 20:29:17
        文檔

        使用AngularJS開發一個大規模的單頁應用(SPA)-技術翻譯

        使用AngularJS開發一個大規模的單頁應用(SPA)-技術翻譯:介紹(SPA)這樣一個名字里面蘊含著什么呢 如果你是經典的Seinfeld電視秀的粉絲,那么你一定知道Donna Chang這個名字。Jerry跟Donna見面,Donna其實不是華人,但是卻因在談論其對中國的固有印象比如在針灸上的興趣,以及偶然的一次單詞發音帶上了點兒中文口
        推薦度:
        導讀使用AngularJS開發一個大規模的單頁應用(SPA)-技術翻譯:介紹(SPA)這樣一個名字里面蘊含著什么呢 如果你是經典的Seinfeld電視秀的粉絲,那么你一定知道Donna Chang這個名字。Jerry跟Donna見面,Donna其實不是華人,但是卻因在談論其對中國的固有印象比如在針灸上的興趣,以及偶然的一次單詞發音帶上了點兒中文口
        介紹

        (SPA)這樣一個名字里面蘊含著什么呢? 如果你是經典的Seinfeld電視秀的粉絲,那么你一定知道Donna Chang這個名字。Jerry跟Donna見面,Donna其實不是華人,但是卻因在談論其對中國的固有印象比如在針灸上的興趣,以及偶然的一次單詞發音帶上了點兒中文口音,她將自己末尾的名字縮成了Chang Donna 在電話上同George的母親交談,(通過引用孔子)給她提了些建議。當George向自己的父母介紹Donna是,George的母親意識到Donna并不是華人,因此并沒有接受Donna的建議.

        單頁面引用 (SPA), 被定義成一個目的在于提供一種接近桌面應用程序的流暢用戶體驗單web頁面應用程序,或者說網站. 在一個SPA中, 所有必需的代碼 – HTML, JavaScript, 以及 CSS – 都是在單頁面加載的時候獲取,或者相關的資源被動態的加載并按需添加到頁面中, 這常常是在響應用戶動作的時候發生的. 盡管現代的Web技術(比如那些在HTML5中引入的技術)提供了應用程序中各自獨立的邏輯頁面相互感知和導航的能力,頁面卻不會在過程中重新加載任何端點,或者將控制轉到另外一個頁面. 同單頁面應用程序的交互常常設計到同位于后臺的web服務器的動態交互.

        那么拿這項技術同 ASP.NET 的母版頁Master Pages相比呢? 誠然 ASP.NET 的母版頁讓你可以為自己應用程序里的頁面創建一個一直的布局。一個單獨的母版頁就可以定義好你想要在整個應用程序中的所有頁面(或者一組頁面)上應用的外觀和標準動作. 然后你就可以再來創建你想要展示的內容各自獨立頁面. 當用戶發起對內容頁面的請求時,它們會將來自母版頁的布局和來自內容頁面的內容混合到一起,產生輸出.

        當你深入研究SPA和ASP.NET母版頁實現這兩者之間的不同時,你就開始會意識到它們之間相同的地方多于不同的地方——那就是SPA可以看做是一個簡單的裝著內容頁面的外殼頁面,就像是一個母版頁, 只是SPA中的外殼頁面不能像母版頁那樣根據每一個新的頁面請求來重新裝載和執行.

        也許“單頁面應用”是個不幸運的名字(像唐娜`程一樣),讓你相信這個技術不適合開發需要拓展到企業級,可能 包含上百頁面以及數千用戶的Web應用。

        本文的目標是基于單頁面應用程序開發出擁有數百頁的內容,包括認證,授權,會話狀態等功能,可以支持上千個用戶的企業級應用。

        AngularJS - 概述

        本文的樣例包含的功能有創建/跟新用戶賬號,創建/更新客戶和產品。而且,它還允許用戶針對所有信息執行查詢,創建和跟新銷售訂單。為了實現這些功能,該樣例將會基于AngularJS來開發。 AngularJS 是一個由Google和AngularJS社區的開發人員維護的開源的Web應用框架。

        AngularJS僅需HTML,CSS和JavaScript就可在客戶端創建單頁面應用。它的目標是是開發和測試更容易,增強MVC Web應用的性能。

        這個庫讀取HTML中包含的其他定制的標簽屬性;然后服從這個定制的屬性的指令,把頁面的I/O結合到有標準JavaScript變量生成的模塊中。這些JavaScript標準變量的值可以手動設置,或者從靜態或動態的JSON數據源中獲取。

        AngularJS使用入門 - 外殼頁面,模塊和路由

        你首先要做的一件事情就是講AngularJS框架下載到你的項目中,你可以從 http://www.gxlcms.com/ 獲得框架. 本文的示例程序是使用MS Visual Studio Web Express 2013 Edition開發的,因此我是使用如下的命令從一個Nuget包安裝AngularJS的:

        Install-Package AngularJS -Version 1.2.21

        在Nuget包管理控制臺上. 為了保持簡單和靈活性,我創建了一個空的 Visual Studio web 應用程序項目,并將Microsoft Web API 2庫選進了核心引用. 這個應用程序將使用Web API 2 庫來實現 RESTful API 的服務器端請求.

        現在當你要使用AngularJS創建一個SPA應用程序是,首先要做的兩件事情就是設置一個外殼頁面,以及用于獲取內容頁面的路由表. 開始的時候,外殼頁面只需要一個隊AngularJS JavaScript庫的引用,還有一個ng-view,來告訴AngularJS內容頁面需要在外殼頁面的那個地方被渲染.

        <!DOCTYPE html>
        <html lang="en">
        <head>
        <title>AngularJS Shell Page example</title>
        </head>
        <body> 
        <p>
        <ul>
        <li><a href="#Customers/AddNewCustomer">Add New Customer</a></li>
        <li><a href="#Customers/CustomerInquiry">Show Customers</a></li>
        </ul>
        </p>
        <!-- ng-view directive to tell AngularJS where to inject content pages -->
        <p ng-view></p>
        <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script>
        <script src="app.js"></script>
        </body>
        </html>

        在上面的外殼頁面示例中,幾個鏈接唄映射到了AngularJS的路由。p標簽上的ng-view指令是一個能將選定路由的被渲染內容頁面包含到外殼頁面來補充AngularJS的$route服務的指令. 每次當目前的路由變化時,包含的視圖也會根據$route服務的配置隨之改變. 比如,當用戶選擇了 "Add New Customer" 鏈接,AngularJS 就會在ng-view所在的p里面渲染用于添加一個新顧客的內容 . 被渲染的內容是一個HTML片段.

        接下來的app.js文件同樣也被外殼頁面引用了。這個文件里的JavaScript將會為應用程序創建AngularJS模塊。此外,應用程序所有的路由配置也會在這個文件中定義。你可以把一個AngularJS模塊想象成封裝你應用程序不同部分的容器。大多數的應用程序都會有一個主方法,用來初始化應用程序的不同部分,并將它們聯系起來。AngularJS應用程序卻沒有一個主方法,而是讓模塊聲明性的指定應用程序如何啟動和配置. 本文的示例程序將只會有一個AngularJS模塊,雖然應用程序中存在幾個明顯不同的部分(顧客,產品,訂單和用戶).

        現在,app.js的主要目的就是如下所示,用來設置AngularJS的路由。AngularJS的$routeProvider服務會接受 when() 方法,它將為一個Uri匹配一個模式. 當發現一次匹配時,獨立頁面的HTML內容會跟隨相關內容的控制器文件一同被加載到外殼頁面中. 控制器文件就簡單的只是一個JavaScript文件,它將獲得帶有某個特定路由請求內容的引用.

        //Define an angular module for our app
        var sampleApp = angular.module('sampleApp', []);
        //Define Routing for the application
        sampleApp.config(['$routeProvider',
         function($routeProvider) {
         $routeProvider.
         when('/Customers/AddNewCustomer', {
         templateUrl: 'Customers/AddNewCustomer.html',
         controller: 'AddNewCustomerController'
         }).
         when('/Customers/CustomerInquiry', {
         templateUrl: 'Customers/CustomerInquiry.html',
         controller: 'CustomerInquiryController'
         }).
         otherwise({
         redirectTo: '/Customers/AddNewCustomer'
         });
        }]);

        AngularJS 的控制器

        AngularJS 控制器無非就是一個原生的JavaScript函數,只是被綁定到了一個特定的范圍而已。控制器用來將邏輯添加到你的視圖。視圖就是HTML頁面。這些頁面只是做簡單的數據展示工作,我們會使用雙向數據綁定來將數據綁定到這些HTML頁面上. 將模型(也就是數據)同數據粘合起來基本山就是控制器的職責了.

        <p ng-controller="customerController">
        <input ng-model="FirstName" type="text" style="width: 300px" />
        <input ng-model="LastName" type="text" style="width: 300px" /> 
        <p>
        <button class="btn btn-primary btn-large" ng-click="createCustomer()"/>Create</button>

        對于上面的AddCustomer模板,ng-controller指令將會引用JavaScript函數customerController,這個控制會執行所有的數據綁定以及針對該視圖的JavaScript函數.

        function customerController($scope) 
        {
         $scope.FirstName = "William";
         $scope.LastName = "Gates"; 
        
         $scope.createCustomer = function () { 
         var customer = $scope.createCustomerObject();
         customerService.createCustomer(customer, 
         $scope.createCustomerCompleted, 
         $scope.createCustomerError);
         }
        }

        開箱即用 - 可擴展性問題

        當我為本文開發這個實力程序時,首當其沖的兩個擴展性問題在應用單頁面應用程序時變得明顯起來。其實一個開箱即用,AngularJS需要應用程序的外殼頁面中所有的JavaScript文件和控制器在啟動中伴隨應用程序的啟動被引入和下載. 對于一個大型的應用程序而言,可能會有上百個JavaScript文件,這樣情況看上去就會不怎么理想。我遇到的另外一個問題就是AngularJS的路由表。我找到的所有示例都有針對所有內容的所有路由的硬編碼。而我想要的確不是一個在路由表里包含上百項路由記錄的方案.

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        使用AngularJS開發一個大規模的單頁應用(SPA)-技術翻譯

        使用AngularJS開發一個大規模的單頁應用(SPA)-技術翻譯:介紹(SPA)這樣一個名字里面蘊含著什么呢 如果你是經典的Seinfeld電視秀的粉絲,那么你一定知道Donna Chang這個名字。Jerry跟Donna見面,Donna其實不是華人,但是卻因在談論其對中國的固有印象比如在針灸上的興趣,以及偶然的一次單詞發音帶上了點兒中文口
        推薦度:
        標簽: 翻譯 js spa
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲AV无码专区亚洲AV桃| 日本免费中文字幕| 114一级毛片免费| 国外亚洲成AV人片在线观看 | 亚洲美女在线国产| 亚洲专区一路线二| 日本免费一区二区久久人人澡| 亚洲福利中文字幕在线网址| 亚洲午夜久久久久妓女影院| 精品女同一区二区三区免费播放| 黄色成人网站免费无码av| 亚洲成a人片在线观看中文app| 美女视频黄的免费视频网页| 亚洲国产精品成人精品无码区| 青青草国产免费国产是公开| 亚洲av无码国产精品色在线看不卡 | 亚洲av片在线观看| 日韩成人免费aa在线看| 亚洲熟女综合色一区二区三区| 免费视频中文字幕| 一级A毛片免费观看久久精品| 久久乐国产精品亚洲综合| 人人玩人人添人人澡免费| 亚洲国产成人精品久久| 日本黄页网站免费| 国产又黄又爽又大的免费视频| 久久亚洲精精品中文字幕| 午夜视频在线在免费| 人妻巨大乳hd免费看| 亚洲精品人成在线观看| 毛片免费观看网址| 人成电影网在线观看免费| 亚洲激情校园春色| 亚洲成?Ⅴ人在线观看无码| 91精品免费不卡在线观看| 豆国产96在线|亚洲| 亚洲AV成人精品网站在线播放| 99久久免费精品国产72精品九九| caoporm碰最新免费公开视频| 78成人精品电影在线播放日韩精品电影一区亚洲 | 人人公开免费超级碰碰碰视频|