国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題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關(guān)鍵字專題關(guān)鍵字專題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
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

使用AngularJS開發(fā)一個大規(guī)模的單頁應(yīng)用(SPA)-技術(shù)翻譯

來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 20:29:17
文檔

使用AngularJS開發(fā)一個大規(guī)模的單頁應(yīng)用(SPA)-技術(shù)翻譯

使用AngularJS開發(fā)一個大規(guī)模的單頁應(yīng)用(SPA)-技術(shù)翻譯:介紹(SPA)這樣一個名字里面蘊(yùn)含著什么呢 如果你是經(jīng)典的Seinfeld電視秀的粉絲,那么你一定知道Donna Chang這個名字。Jerry跟Donna見面,Donna其實(shí)不是華人,但是卻因在談?wù)撈鋵χ袊墓逃杏∠蟊热缭卺樉纳系呐d趣,以及偶然的一次單詞發(fā)音帶上了點(diǎn)兒中文口
推薦度:
導(dǎo)讀使用AngularJS開發(fā)一個大規(guī)模的單頁應(yīng)用(SPA)-技術(shù)翻譯:介紹(SPA)這樣一個名字里面蘊(yùn)含著什么呢 如果你是經(jīng)典的Seinfeld電視秀的粉絲,那么你一定知道Donna Chang這個名字。Jerry跟Donna見面,Donna其實(shí)不是華人,但是卻因在談?wù)撈鋵χ袊墓逃杏∠蟊热缭卺樉纳系呐d趣,以及偶然的一次單詞發(fā)音帶上了點(diǎn)兒中文口
介紹

(SPA)這樣一個名字里面蘊(yùn)含著什么呢? 如果你是經(jīng)典的Seinfeld電視秀的粉絲,那么你一定知道Donna Chang這個名字。Jerry跟Donna見面,Donna其實(shí)不是華人,但是卻因在談?wù)撈鋵χ袊墓逃杏∠蟊热缭卺樉纳系呐d趣,以及偶然的一次單詞發(fā)音帶上了點(diǎn)兒中文口音,她將自己末尾的名字縮成了Chang Donna 在電話上同George的母親交談,(通過引用孔子)給她提了些建議。當(dāng)George向自己的父母介紹Donna是,George的母親意識到Donna并不是華人,因此并沒有接受Donna的建議.

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

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

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

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

本文的目標(biāo)是基于單頁面應(yīng)用程序開發(fā)出擁有數(shù)百頁的內(nèi)容,包括認(rèn)證,授權(quán),會話狀態(tài)等功能,可以支持上千個用戶的企業(yè)級應(yīng)用。

AngularJS - 概述

本文的樣例包含的功能有創(chuàng)建/跟新用戶賬號,創(chuàng)建/更新客戶和產(chǎn)品。而且,它還允許用戶針對所有信息執(zhí)行查詢,創(chuàng)建和跟新銷售訂單。為了實(shí)現(xiàn)這些功能,該樣例將會基于AngularJS來開發(fā)。 AngularJS 是一個由Google和AngularJS社區(qū)的開發(fā)人員維護(hù)的開源的Web應(yīng)用框架。

AngularJS僅需HTML,CSS和JavaScript就可在客戶端創(chuàng)建單頁面應(yīng)用。它的目標(biāo)是是開發(fā)和測試更容易,增強(qiáng)MVC Web應(yīng)用的性能。

這個庫讀取HTML中包含的其他定制的標(biāo)簽屬性;然后服從這個定制的屬性的指令,把頁面的I/O結(jié)合到有標(biāo)準(zhǔn)JavaScript變量生成的模塊中。這些JavaScript標(biāo)準(zhǔn)變量的值可以手動設(shè)置,或者從靜態(tài)或動態(tài)的JSON數(shù)據(jù)源中獲取。

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

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

Install-Package AngularJS -Version 1.2.21

在Nuget包管理控制臺上. 為了保持簡單和靈活性,我創(chuàng)建了一個空的 Visual Studio web 應(yīng)用程序項目,并將Microsoft Web API 2庫選進(jìn)了核心引用. 這個應(yīng)用程序?qū)⑹褂肳eb API 2 庫來實(shí)現(xiàn) RESTful API 的服務(wù)器端請求.

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

<!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標(biāo)簽上的ng-view指令是一個能將選定路由的被渲染內(nèi)容頁面包含到外殼頁面來補(bǔ)充AngularJS的$route服務(wù)的指令. 每次當(dāng)目前的路由變化時,包含的視圖也會根據(jù)$route服務(wù)的配置隨之改變. 比如,當(dāng)用戶選擇了 "Add New Customer" 鏈接,AngularJS 就會在ng-view所在的p里面渲染用于添加一個新顧客的內(nèi)容 . 被渲染的內(nèi)容是一個HTML片段.

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

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

//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函數(shù),只是被綁定到了一個特定的范圍而已。控制器用來將邏輯添加到你的視圖。視圖就是HTML頁面。這些頁面只是做簡單的數(shù)據(jù)展示工作,我們會使用雙向數(shù)據(jù)綁定來將數(shù)據(jù)綁定到這些HTML頁面上. 將模型(也就是數(shù)據(jù))同數(shù)據(jù)粘合起來基本山就是控制器的職責(zé)了.

<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函數(shù)customerController,這個控制會執(zhí)行所有的數(shù)據(jù)綁定以及針對該視圖的JavaScript函數(shù).

function customerController($scope) 
{
 $scope.FirstName = "William";
 $scope.LastName = "Gates"; 

 $scope.createCustomer = function () { 
 var customer = $scope.createCustomerObject();
 customerService.createCustomer(customer, 
 $scope.createCustomerCompleted, 
 $scope.createCustomerError);
 }
}

開箱即用 - 可擴(kuò)展性問題

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

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

文檔

使用AngularJS開發(fā)一個大規(guī)模的單頁應(yīng)用(SPA)-技術(shù)翻譯

使用AngularJS開發(fā)一個大規(guī)模的單頁應(yīng)用(SPA)-技術(shù)翻譯:介紹(SPA)這樣一個名字里面蘊(yùn)含著什么呢 如果你是經(jīng)典的Seinfeld電視秀的粉絲,那么你一定知道Donna Chang這個名字。Jerry跟Donna見面,Donna其實(shí)不是華人,但是卻因在談?wù)撈鋵χ袊墓逃杏∠蟊热缭卺樉纳系呐d趣,以及偶然的一次單詞發(fā)音帶上了點(diǎn)兒中文口
推薦度:
標(biāo)簽: 翻譯 js spa
  • 熱門焦點(diǎn)

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 国产精品免费大片一区二区 | 免费永久在线观看黄网 | 亚洲欧美日韩精品高清 | 日韩一级精品久久久久 | 在线永久免费观看的毛片 | 美女网站一区二区三区 | 日韩欧美理论 | 亚洲欧洲高清有无 | 亚洲十欧美十日韩十国产 | 欧美日韩亚洲综合 | 日韩视频在线观看一区二区 | 国产中文字幕视频 | 成人精品视频在线观看播放 | 亚洲精品综合久久中文字幕 | 国产精品欧美一区二区三区不卡 | 日韩 亚洲 欧美 中文 高清 | 欧美高清视频在线观看 | 久久精品国产免费中文 | 国产在线高清视频 | 日韩精品一区二区三区在线观看l | 国产精品手机视频一区二区 | 欧美日韩免费一区二区三区 | 91精品国产高清久久久久久io | 国产一级片免费看 | 日本我不卡| 免费看一级毛片 | 国产69精品久久久久777 | 国产一区二区三区久久 | 怡红院一区二区三区 | 成人一a毛片免费视频 | 欧美日韩亚洲高清不卡一区二区三区 | 国产精品亚洲一区二区三区在线播放 | 国产精品亚洲色图 | 日本免费大黄 | 在线亚洲欧美日韩 | 欧美日韩福利 | 国产色在线视频 | 日韩精品一区二区三区在线观看l | 一区二区三区四区电影 | 国产一区二区三区高清 | 亚洲一区二区免费看 |