




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
資資文社關登搜*上一 下一篇AngularJS入門:導言和準于angua學習AngularJS的一個好方法是逐步完成本,它將引導您構建一個完整的AngularJSweb應用程序。該web應用是一個Android設備的 件。通過本 閱讀示例學習怎樣使用AngulrJS的客戶端數據綁定和依賴注入功能來建立可立即響應用戶操作的動態數據視圖。學習如何使用AngularJS創建數據偵,且不需要進行DOM操作學種更好、更簡單的方法來測試您的web應用程序學習如何使用AngularJS創建常見的web任務,例如更方便的將數據引入應創建一個可在任何瀏覽器中的工作的動態了解AngularJS與其它JavaScript框架之間的區別了解AngularJS如何實現數據綁定利用AngularJS的項目快速創建自己的項目創建和運試學習AngularJS標識資源(API) 無論是Mac、Linux或Windows環境中,您均可遵循本學習編程。您可以使用源代碼管理版本控制系統Git獲取本項目的源代碼文件,或直接從網上本項目源代碼文件的鏡像歸檔壓在Mac、Lnux或Windows系統中安裝Java運行環境,進行單元測試時需要運行Java程序,以下命令可檢測您的系統是否已安裝Java運行環境:javajava-git /angular/angular-安裝Git工具,然后用以下命令從 項目git /angular/angular-您的系統需運行HTTP服務器程序,如Apache等。如果您的系統沒有安裝HTTP服務器程序,建議安裝Nodejs,它是一個運行JavaScrpt的高性能HTTP服務器程序。最后一件事要做的就是確保您的計算機安裝了web瀏覽器和文本進 源代碼文件包angular-phonecat,開始學習angular-::中文文檔AngularJS中文社區&&英文文檔AngularJS官網&&代碼TheMITLicense&&文檔 CCBY3.0anguajs在入門分類,AnguarJS、入門。將本文加入收藏夾關于關于anguarjsAngularJS中國社查看angu 的文章 評論,您必須先登錄AngularJS中文社區&&AngularJS英文官網&&代碼TheMITLicense&&文檔CCBY?2012 |PoweredbyWordPress&bbPress|[湘ICP 資 文社關搜登錄*下一篇AngularJS快速開于anguao開始學習AngularJS的一個好方法是創建經典應用程序“Helo使用您喜愛的文本編輯器,創建一個HTML文件,例如:oworld.html將下面的源代碼到您的HTML文件在web瀏覽器中打開這個HTML文件<!doctype<!doctype<htmlng-o運行ong-ng-
<html<htmlng- oo
oAngularJS本示例演示AngularJS的雙向數據綁定(bi-directionaldata編輯前面創建 oworld.html文檔將下面的源代碼到您的HTML文件刷新瀏覽器窗口<!doctype<!doctype<htmlng-Yourname:<inputtype="text"ng-model="yourname"o{{yourname||運行Youro<inputng-model="yourname" <inputng-model="yourname"你不需要為該應用另外一個事件偵或添加事件處理程序現在試著在輸入框中鍵入您的名稱,您鍵入的名稱將立即更新顯示在問候語中。這就是式 記,作為AnguarJS編譯器的指令。AngularJS編譯器是完全可擴展的,這意味著通過AngularJS您可應用程序邏輯(Logic)和行為應用程序邏輯和行為是您用JavaScript定義的控制器。AnguarJS與標準AJAX應用程序不同,您模型數據底層服務包括依賴注入,XHR、緩存、URL路由和瀏覽器抽您還可以擴展和添加自己特定的應這些服務可以非常方便的編寫WEB應用::中文文檔AngularJS中文社區&&英文文檔AngularJS官網&&代碼 TheMITLiense&&文檔CCBY3.0anguajs在入門分類,AnguarJS、入門。將本文加入收藏夾關于關于anguarjsAngularJS中國社查看angu 的文章anguajs:53說道:登錄以回復anguajs:53說道:登錄以回復朋友們有疑問或者建議盡管 評論,您必須先登錄AngularJS中文社區&&AngularJS英文官網&&代碼TheMITLicense&&文檔CCBY?2012 |PoweredbyWordPress&bbPress|[湘ICP 資資文社關登搜*上一 下一篇AngularJS入門00:引導程 日angugitcheckout-fstep-進入angular-gitcheckout-fstep- 按照下面的操作您可以在瀏覽器中./scripts/web-可以在獨 令行終端運./scripts/web-或nodenodescripts/web-HttpServerrunningHttpServerrunning在瀏覽器中輸入http://ocalhost:8000/app/index.html來我們的應用:[port-number]/[context-請配置服務器使其驅動angular-phonecat項目:[port-number]/[context-在瀏覽器中輸 來問我們的應用了 <!doctype<!doctype<htmllang="en"ng-<metacharset="utf-<title>MyHTML<linkrel="stylesheet"<linkrel="stylesheet" <p>Nothinghere{{'yet'+ng-ng-<html<htmllang="en"ng-ng-
中添加ng-app屬性即說明個<html>都是AngularJS作用域。開發者也可以在局部使用ng-app指令,
<divapp>,則AngularJS僅在
AngularJS ng-ng-雙大括號綁定的表達式
<p><p>Nothinghere{{'yet'+'yet'+ 'yet'+
AngularJS表達式是一種類似于JavaScrpt的代碼片段,AngularJS表達式僅在AngularJS的作用注入器(injector)將用于創建此應用程序的依賴注入 注入器將會創建根作用域作為我們應用模型的范AnglrJS將會根作用域中的DOM,從用ngApp標記的HTML開始,逐步處理DOM中指令和綁定。我工作中這些文件是干什么的?刪除示例應用程序添加圖像到添加數據文件(JSON)到添加Bootstrap文件到app/css/和app/img/試試把關于數算的新表達式添加到<p>1<p>1+2={{1+2::中文文檔AngularJS中文社區&&英文文檔AngularJS官網&&代碼TheMITLicense&&文檔 CCBY3.0anguajs在入門分類,AnguarJS、入門。將本文加入收藏夾關于關于anguarjsAngularJS中國社查看angu 的文章 評論,您必須先登錄AngularJS中文社區&&AngularJS英文官網&&代碼TheMITLicense&&文檔CCBY?2012 |PoweredbyWordPress&bbPress|[湘ICP 資資文社關登搜*上一 下一篇AngularJS入門01:靜態模 日angu `gitcheckout`gitcheckout-fstep-果<span>NexusFastjustgotfasterwithNexus<span>MotorolaXOOM?withWi-TheNext,NextGeneration<p>Totalnumberofphones:<p>Totalnumberofphones:本步驟往應用中添加了靜態HTML列表,現在讓我們轉到步驟2以了解如何使用AngularJS動::中文文檔AngularJS中文社區&&英文文檔AngularJS官網&&代碼 TheMITLiense&&文檔CCBY3.0anguajs在入門分類,AnguarJS、入門。將本文加入收藏夾關于關于anguarjsAngularJS中國社查看angu 的文章 評論,您必須先登錄AngularJS中文社區&&AngularJS英文官網&&代碼TheMITLicense&&文檔CCBY?2012 |PoweredbyWordPress&bbPress|[湘ICP 資資文社關登搜*上一 下一篇AngularJS入門02:AngularJS模 日gitcheckout-fstepgitcheckout-fstep-視圖和發生變化,AnguarJS會實時更新結合點,隨之更新視圖。<htmlng-<htmlng- <bodyng-<ling-repeat="phonein 起來的AnguarJS
和
里面
ng-repeat="phonein
語句是一個AngularJS迭代器。這個迭代器AngularJS用第
作為模板為列表中的每一 創建一
元素正如我們在第0步時學到的,包裹 和phone.snippet周圍的花括號標識著數據綁定。常量計算不同的是,這里的表達式實際上是我們應用的一個數據模型,這些我 控制器里面都設置好了模型和控制 functionfunctionPhoneListCtrl($scope)$scope.phones={"name":"Nexus"snippet":"FastjustgotfasterwithNexus{"name":"MotorolaXOOM?withWi-"snippet":"TheNext,NextGeneration{"name":"MOTOROLA"snippet":"TheNext,NextGeneration}——控制器方法的名字(在JS文件的ngConroller指令的值相匹配。
中) 里的數據此時與注入到我們控制器函數的作用域 )相關聯。當應用啟動之后,會有一個作用域被創建出來,而控制器的作用域是根作用域的一個典型后繼。這個控制器的作用域對所有<bodyng-controller="PhoneListCtrl">標記內部的數據綁定有效。器。AglrS使用作用域,同時還有模板中的信息,數據模型和控制器。這些可以幫助模型和視圖分離,但是他們兩者確實是同步的!任何對于模型的更改都會即時反映在視圖上;任何在視圖上的更改都會被立刻體現在模型中。測describe(describe('PhoneCatcontrollers',{describe('PhoneListCtrl',it('shouldcreate"phones"modelwith3phones',function()varscope=ctrl=new示出為AnguarJS的代碼創建一個單元測試是容易。正因為測試在軟件開發中是必不可少的環以在Jasmine的主頁或者JasmineWiki上獲得相關知識。試./scripts/test-angular-在一個單獨的終端上,進入./scripts/test-angular-
并且運 來啟動試(Windows命令行下請輸入.\scripts\test-server.bat來運行,后面命令運行方式類打開一個新的瀏覽器窗口,并且轉到選擇“Capturethisbrowserinstrictmode運
進試ChromeChrome:Runner.Total1tests(Passed:1;Fails:0;Errors:0)(2.00Chrome19.0.1084.36MacOS:Run1tests(Passed:1;Fails:0;Errors0)(2.00<p>Totalnumberofphones: 添加另<p>Totalnumberofphones:創建一個新的數據模型屬性,并且把它綁定到模板上。例如$scope$scope.o= o,更新你的瀏覽器,確保顯示出來“Helo,用一個迭代器創建一個簡單<tr><th>row<trng-repeat="iin[0,1,2,3,4,5,6,<tr><th>row<trng-repeat="i<tr><th>row<trng-repeat="iin[0,1,2,3,4,5,6,i確定 改 之后單元測試失敗,然后重新跑一::中文文檔AngularJS中文社區&&英文文檔AngularJS官網&&代碼 TheMITLiense&&文檔CCBY3.0furtherLee在入門分類,AngularJS、furtherLee、入門。將本文加入收藏夾ovexiaoba在:51說道:登錄以在step-0的文件夾里面用ovexiaoba在:51說道:登錄以在step-0的文件夾里面用gitcheckout-fstep-0重置之后少了文件就是test/ib/下面的三個測試文件。所以用./scrpts/test-server.sh啟動服務器測試就有問題。ovexiaoba在:01說道:登錄以為什么我運行./scripts/test.sh 試,沒有出現4下面的結果。 評論,您必須先登錄AngularJS中文社區&&AngularJS英文官網&&代碼TheMITLicense&&文檔CCBY?2012 |PoweredbyWordPress&bbPress|[湘ICP 資資文社關登搜*上一 下一篇AngularJS入門03:迭代器過 日gitcheckout-fstepgitcheckout-fstep-模 class="container-<divclass="row-<div<!--Sidebarcontent--Search:<inputng-<div<!--Bodycontent--<ul<ling-repeat="phoneinphones|
碼數據綁定:這是AngularJS的一個特性。當頁面加載的時候,AngularJS會根據輸入框的屬性值名字,將其與數據模型中相同名字的變量綁定在一起,以確保兩者的同步性。phoneinphones| phoneinphones| 使 過濾器:filter函數使
的值來創建一個只包
記錄的新數組
測describedescribe('PhoneCatApp',{describe('Phonelistview',function(){{;it('shouldfilterthephonelistasusertypesintothesearchbox',{expect(repeater('.phones 用的是AnguarJS端到端測試器提供的接口。node.js用戶使用其他http服務器
:[port-訪客 /angular-phonecat/step- 現在我們來看一下我們怎么讓query模型的值出現在HTML的頁面標你或許認為像下面這樣在
PhoneGallery:
<body<bodyng-和如果你想讓和
<htmlng-appng-動 <htmlng-appng-
ng- ng-的時候它們已經顯示給用戶看了。一個更好的解決方案是使用ngBnd或者ngBindTemplate指<title<titleng-bind-template="PhoneGallery: Phone 塊中加入下面這些端到端測試代碼itit('shoulddisplaythecurrentfiltervaluewithinanelementwithidfunction()expect(element('#status').text()).toMatch(/Currentfilter:\s*$/); //alternativeversionofthelastassertionthattestsjustthevalueofthepid為刷新瀏覽器,端到端測試器會報告測試失敗。為了讓測試通過,編輯index.html,添加一 或 綁定,再加上Currentfilter:pid為<div<divid="status">Currentfilter:在端到端測試里面加一 語句,重新跑一遍。你將發現測試器暫停了!這樣允許你有機會測試運行過程中查看你應用的狀態。測試應用是實時的!你可以更換搜索內容來證明。稍有經驗你就會知道,這對于在端到端測試中迅速找到問題是關鍵。::中文文檔AngularJS中文社區&&英文文檔AngularJS官網&&代碼 TheMITLicense&&文檔CCBY3.0furtherLee在入門分類,AngularJS、furtherLee、入門。將本文加入收藏夾 評論,您必須先登錄AngularJS中文社區&&AngularJS英文官網&&代碼TheMITLicense&&文檔CCBY?2012 |PoweredbyWordPress&bbPress|[湘ICP 資資文社關登搜*上一 下一篇AngularJS入門04:雙向綁 日gitcheckout-fstepgitcheckout-fstep-你應該發現除了搜索框之外,你的應用多了一個下來菜單,它可以允許控制排列的順序。步驟3和步驟4之間最重要的不同在下面列出。你可以在里看到完整的差別。模Search:Search:<inputng-Sort<selectng- <option<ul<ling-repeat="phoneinphones|filter:query|
,這樣我們的用戶就可以選擇我們提然后,
過濾器后面添加一個orderBy過濾器用其來處理進入迭代器的
過濾以一個數組作為輸入,一份副本,然后把副本重排序再輸出到迭代器AngularJS在select元素和被用作orderBy過濾器的輸入
functionfunctionPhoneListCtrl($scope)$scope.phones={"name":"Nexus"snippet":"FastjustgotfasterwithNexusS.","age":0},{"name":"MotorolaXOOM?withWi-"snippet":"TheNext,NextGenerationtablet.","age":1},{"name":"MOTOROLA"snippet":"TheNext,NextGenerationtablet.","age":2}$scope.orderProp=}我們修 屬性來
模型——的數組——為每一個記錄其增加了一個
屬性。我們會我們在控制器代碼里加了一
的默認
。如果我們不設置默認值,這個模我們的用戶在下拉菜單選擇一個順序之前一直處于未初始化狀 測describe(describe('PhoneCatcontrollers',function()function(){varscope,{scope=ctrl=newit('shouldcreate"phones"modelwith3phones',{it('shouldsetthedefaultvalueoforderPropmodel',{ Chrome:RunnerTotal2tests(Passed:2;Fails:0;Errors:0)(3.00ChromeChrome:RunnerTotal2tests(Passed:2;Fails:0;Errors:0)(3.00Chrome19.0.1084.36MacOS:Run2tests(Passed:2;Fails:0;Errors0)(3.00it('shouldbepossibletocontrolphoneorderviathedropdownselectfunction()//let'snarrowthedatasettomakethetestassertionsexpect(repeater('.phonesli','PhoneList').column('')).toEqual(["MotorolaXOOM\u2122withWi-Fi","MOTOROLAexpect(repeater('.phonesli','PhoneList').column('')).toEqual(["MOTOROLAXOOM\u2122","MotorolaXOOM\u2122withWi-在 控制器中,把設置 那條語句刪掉,你會看到AlrJS會在下拉菜單中臨時添加一個空白的選項,并且排序順序是默認排序(即未排序)。 模板里面添加一個`{{orderProp}}綁定來實時顯示它的值服務以及AnguarJS如何使用依賴注入。::中文文檔AngularJS中文社區&&英文文檔AngularJS官網&&代碼TheMITLicense&&文檔 CCBY3.0furtherLee在入門分類,AngularJS、furtherLee、入門。將本文加入收藏夾 評論,您必須先登錄AngularJS中文社區&&AngularJS英文官網&&代碼TheMITLicense&&文檔CCBY?2012 |PoweredbyWordPress&bbPress|[湘ICP 資資文社關登搜*上一 下一篇AngularJS入門05:XHR和依賴注 日 injection(DI))
gitgitcheckout-fstep-數
[[{"age": "motorola-defy-with-"name":"MotorolaDEFY\u2122with"snippet":"Areyoureadyforeverythinglifethrowsyour]
functionfunctionPhoneListCtrl($scope,$http) $scope.phones=$scope.orderProp=}//PhoneListCtrl.$inject=['$scope',
們的
服務
HTTPHTTPfunctionfunctionPhoneListCtrl($scope,$http)'$'前綴命名習建服務,作用域方法,以及一些其他的AngularJSAPI都在名字前面使用一個‘$’前綴。不要使關于JS壓縮
PhoneListCtrlPhoneListCtrl.$inject=['$scope',varvarPhoneListCtrl=['$scope','$http',function($scope,$http){/*constructorbody*/測
describe('PhoneCatcontrollers',function()function(){describe('PhoneCatcontrollers',function()function(){varscope,beforeEach(inject(function($httpBackend_,$rootScope,$controller)$httpBackend $httpBackendrespond([{name:'NexusS'},{name:'Motorolascope=ctrl=$controller(PhoneListCtrl,{$scope:我們使用
方法將$rootScope,$controller和$httpBackend服務實例注入到函數里。這些實例都來自一個注入器,但是這個注入器在每一個測試內部都會被重建。這樣保證了每一個測試都從一個的起始點開始,并且每一個測試都和其他測試相互獨立調 來為我們的控制器創建一個新的作用域函數和剛創建的作用域作為參數,傳遞給已注入 函數
將請求服務 注入到我們的 函數中。這是這個服務的一個偽版本,這樣做產品環境中有助于處理所有的HR和JON請求。服務的偽版本允許你不用考慮原生I和全局狀態——隨便一個都能構成測試的噩夢——就可以寫測試 方法來告訴$httpBackend服務來等待一個HTTP請求,并且告訴它如何對其進行響應。注意到,當我們調用$httpBackend.flush方法之前,響應是不會被發出的。it(it('shouldcreate"phones"modelwith2phonesfetchedfromxhr',{ {name:'Motorola在瀏覽器里,我們調
來清空(flush)請求隊列。這樣
服務回的prome(什么是promise請參見這里)能夠被解釋成規范的應答。我們設置一些斷言,來驗證數據模型已經在作用域里了。it('shouldsetthedefaultvalueoforderPropmodel'it('shouldsetthedefaultvalueoforderPropmodel',{;Chrome:RunnerTotal2tests(Chrome:RunnerTotal2tests(Passed:2;Fails:0;Errors:0)(3.00Chrome19.0.1084.36MacOS:Run2tests(Passed:2;Fails:0;Errors0)(3.00{{phones|在index.html末尾添加一 綁定,觀察json格式的{{phones|$scope.phones=data.splice(0, $scope.phones=data.splice(0, ::中文文檔AngularJS中文社區&&英文文檔AngularJS官網&&代碼 TheMITLiense&&文檔CCBY3.0furtherLee在入門分類,AngularJS、furtherLee、入門。將本文加入收藏夾 評論,您必須先登錄AngularJS中文社區&&AngularJS英文官網&&代碼TheMITLicense&&文檔CCBY?2012 |PoweredbyWordPress&bbPress|[湘ICP 資資文社關登搜*上一 下一篇AngularJS入門06:與模 日 gitcheckout-fstepgitcheckout-fstep-注意到注意到現在phones.json 向[{[{ "motorola-defy-with-"imageUrl":"img/phones/motorola-defy-with-motoblur.0.jpg","name":"MotorolaDEFY\u2122withMOTOBLUR\u2122",]模<ul<ul<ling-repeat="phoneinphones|filter:query|orderBy:orderProp" ng- 屬
,只需要使用ngSrc指令代替<img>的src屬性就可
屬性來進行綁定(<imgclass="diagram"{{phone.imageUrl}}">),瀏覽器會把AngularJS的{{表達式}}起一個向 {{phone.imageUrl}}的請求。因為瀏覽器載入頁面 時
測itit('shouldrenderphonespecificlinks',{input('query').enter('nexus');element('.phoneslia').click();expect(browser().location().url()).toBe('/phones/nexus-現 ng- 屬性。用像Firebug,ChromeWebInspector這樣的工具,或 ng-者
::中文文檔AngularJS中文社區&&英文文檔AngularJS官網&&代碼TheMITLicense&&文檔 CCBY3.0furtherLee在入門分類,AngularJS、furtherLee、入門。將本文加入收藏夾 評論,您必須先登錄AngularJS中文社區&&AngularJS英文官網&&代碼TheMITLicense&&文檔CCBY?2012 |PoweredbyWordPress&bbPress|[湘ICP 資資文社關登搜*上一 下一篇AngularJS入門07:路由與多視 日gitcheckout-fstep-gitcheckout-fstep-
為了增加詳細信息視圖,我們可以拓展index.html來同時包含兩個視圖的模板代碼,但是這
要把
AglrJS中應用的路由通過roteProvder來,它是rote服務的提供者。這項服務使得控制器、視圖模板與當前瀏覽器的RL可以輕易集成。應用這個特性我們就可以實現深,它允許我們使用瀏覽器的歷史(回退或者前進導航)和書簽。
者require.js這兩個模塊(非AnguarJS的兩個庫)不同的是,AnguarJSApp模 config(['$routeProvider',function($routeProvider){when('/phones',{templateUrl:'partials/phone-list.html',controller:PhoneListCtrl}).when('/phones/:phoneId',{templateUrl:'partials/phone-detail.html',controller:PhoneDeotherwise({redirectTo:'/phones'}); 并且通過使用configAPI,我們請求用$routeProvider.whenAPI來定義我們的路由規則
當URL映射段為/phones時 列表視圖會被顯示出來。為了構造這個視圖,AngularJS會phone-phone- 模板和PhoneListCtrl控制器phone-phone-當URL映射段
時 詳細信息視圖被顯示出來。這
:phoneId是URL的變量分。為了構造 詳細視圖,AngulrJS會使用器。
模板
PhoneDetailCtrl我們重用之前創造過的PhoneListCtrl控制器,同時我們 的
控制器,把它存放在app/js/controllers.js文件里$route.otherwise({redirectTo:$route.otherwise({redirectTo:
s hone/:phoneId作為一個匹配當前URL的模板。所s
:符號的變量(此處變<!doctype<!doctype<htmllang="en"ng-functionfunctionPhoneDetailCtrl($scope,$routeParams)$scope.phoneId=}//PhoneDetailCtrl.$inject=['$scope',模 <html<htmllang="en"ng- <script <divng-注意,我們把index.html模板里面大部分代碼移除,我們只放置了一個<div>容器,這 具有ng-view屬性。我們刪除掉的代碼現在被放置在phone-list.html模板中: class class="container-<divclass="row-<div<!--Sidebarcontent--Search:<inputng-model="query">Sortby:<selectng- <option<div<!--Bodycontent--app/partials/phone-<ul<ul<ling-repeat="phoneinphones|filter:query|orderBy:orderProp" ng- TBDTBD:detailviewfor 測
it('shouldredirectindex.htmltoindex.html#/phones',{describe('Phonedetailview',{beforeEach(function(){it('shoulddisplayplaceholderpagewithphoneId',{expect(binding('phoneId')).toBe('nexus-試著在index.html上增加一個{{orderProp}}綁定,當你在列表視圖上時什么也沒變這是因為orderProp模型僅僅在PhoneListCtrl管理的作用域下才是可見的,這與<divview元素相關。如果你在phone-list.html模板中加入同樣的綁定,那么這個綁定會按你設想的::中文文檔AngularJS中文社區&&英文文檔AngularJS官網&&代碼 TheMITLiense&&文檔CCBY3.0furtherLee在入門分類,AngularJS、furtherLee、入門。將本文加入收藏夾 評論,您必須先登錄AngularJS中文社區&&AngularJS英文官網&&代碼TheMITLicense&&文檔CCBY?2012 |PoweredbyWordPress&bbPress|[湘ICP 資文社 關搜登錄*下一篇AngularJS入 日模gitcheckout-fstepgitcheckout-fstep- detail.html視圖模板數除 {"additionalFeatures":"Contour{"additionalFeatures":"ContourDisplay,NearFieldCommunications(NFC),...","android":{"os":"Android"ui":"images":"storage":"flash":"ram":}}
functionfunctionPhoneDetailCtrl($scope,$routeParams,$http)$http.get('phones/'+$routeParams.phoneId+'.json').success(function(data)$scope.phone=}//PhoneDetailCtrl.$inject=['$scope','$routeParams', 模
{{表達式 {{表達式
<img<imgng-src="{{phone.images[0]}}"<ulclass="phone-<ling-repeat="imgin<imgng-<ul<span>Availabilityand<ddng-repeat="availabilityin<span>Additional測:
function(){varscope,$httpBackend,beforeEach(inject(function($httpBackend_,$rootScope,$routeParams,$controller)$httpBackend $httpBackend $routeParams.phoneId='xyz';scope=$rootScope.$new();ctrl=$controller(PhoneDetailCtrl,{$scope:it('shouldfetchphonedetail',{ Chrome:RunnerTotal3tests(Chrome:RunnerTotal3tests(Passed:3;Fails:0;Errors:0)(5.00Chrome19.0.1084.36MacOS:Run3tests(Passed:3;Fails:0;Errors0)(5.00同時,我們也添加一個端到端測試,指向NexusS詳細信息頁面并且驗證頁面的頭部是“NexusS”。describe('Phonedetailview',function(){browser().navigateTo('../../app/index.html#/phones/nexus-it('shoulddisplaynexus-spage',{expect(binding('')).toBe('Nexus::中文文檔AngularJS中文社區&&英文文檔AngularJS官網&&代碼TheMITLicense&&文檔 CCBY3.0furtherLee在入門分類,AngularJS、furtherLee、入門。將本文加入收藏夾 評論,您必須先登錄AngularJS中文社區&&AngularJS英文官網&&代碼TheMITLicense&&文檔CCBY?2012 |PoweredbyWordPress&bbPress|[湘ICP 資資文社關登搜*上一 下一篇AngularJS入門09:過濾 日gitcheckout-fstep-gitcheckout-fstep-定制過
returnfunction(input)returninput?'\u2713': 上
模件
<script{{expression{{expression|filter<dd>{{phone.connectivity.infrared|<dd>{{phone.connectivity.gps|測test/unit/fdescribedescribe('filter',{describe('checkmark',function()it('shouldconvertbooleanvaluestounicodecheckmarkorcross',inject(function(checkmarkFilter){執
ChromeChrome:RunnerTotal4tests(Passed:4;Fails:0;Errors:0)(3.00Chrome19.0.1084.36MacOS:Run4tests(Passed:4;Fails:0;Errors0)(3.00現在讓我們來 下AngularJS內置過濾器, ndex.html中加入如下綁定{{"lowercapstring"|uppercase{{{foo:"bar",baz:23}|json{{1304375948024|date{{1304375948024|date:"MM/dd/yyyy@h:mma"我們也可以用一個輸入框來創建一個模型,并且將之與一個過濾后的綁定結合在一起。在inde.htl中加入如下代碼:<input<inputng-model="userInput">Uppercased:{{userInput|uppercase::中文文檔AngularJS中文社區&&英文文檔AngularJS官網&&代碼TheMITLicense&&文檔 CCBY3.0furtherLee在入門分類,AngularJS、furtherLee、入門。將本文加入收藏夾 評論,您必須先登錄AngularJS中文社區&&AngularJS英文官網&&代碼TheMITLicense&&文檔CCBY?2012 |PoweredbyWordPress&bbPress|[湘ICP 資資文社關登搜*上一 下一篇AngularJS入門10:事件處理 日gitcheckout-fstep-gitcheckout-fstep-functionfunctionPhoneDetailCtrl($scope,$routeParams,$http)$http.get('phones/'+$routeParams.phoneId+'.json').success(function(data)$scope.phone=$scope.mainImageUrl=$scope.setImage=function(imageUrl)$scope.mainImageUrl=}}//PhoneDetailCtrl.$inject=['$scope','$routeParams',
<imgng-src<imgng-src="{{mainImageUrl}}"<ulclass="phone-<ling-repeat="imgin<imgng-src="{{img}}"ng-我們把大
測
片。第二個測試點擊幾個縮略圖并且驗證主隨之合理的變化。describedescribe('Phonedetailview',function()it('shoulddisplaythefirstphoneimageasthemainphoneimage',{expect(element('img.phone').attr('src')).toBe('img/phones/nexus-it('shouldswapmainimageifathumbnailimageisclickedon',function()elementelement('.phone-thumbsli:nth-child(3)img').click();element('.phone-thumbsli:nth-child(1)img').click(); o=function(name o=function(name) o'+(name||'world')+} ng- o('Elmo')">::中文文檔AngularJS中文社區&&英文文檔AngularJS官網&&代碼 TheMITLiense&&文檔CCBY3.0furtherLee在入門分類,AngularJS、furtherLee、入門。將本文加入收藏夾 評論,您必須先登錄AngularJS中文社區&&AngularJS英文官網&&代碼TheMITLicense&&文檔CCBY?2012 |PoweredbyWordPress&bbPress|[湘ICP 資資文社關登搜*上一 下一篇AngularJS入門11:REST和定 日gitcheckout-fstep-gitcheckout-fstep-模
<script src="lib/angular/angular-服angular.angular.module('phonecatServices',['ngResource']).factory('Phone',function($resource){return$resource('phones/:phoneId.json',{},query:{method:'GET',params:{phoneId
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 遼寧師范大學海華學院《書籍設計》2023-2024學年第二學期期末試卷
- 南開大學濱海學院《英語視聽說(1)》2023-2024學年第一學期期末試卷
- 中國民用航空飛行學院《數據分析與挖掘》2023-2024學年第二學期期末試卷
- 廈門安防科技職業學院《藥理方法學》2023-2024學年第二學期期末試卷
- 西昌學院《公路工程施工技術》2023-2024學年第二學期期末試卷
- 湖北水利水電職業技術學院《裝飾材料與施工工藝》2023-2024學年第二學期期末試卷
- 廠房電氣工程安裝合同
- 庫房和場地租賃合同
- 文藝活動場地租賃合同
- 交通工程咨詢服務合同
- 江蘇省無錫市天一實驗學校2025屆初三下學期第二次模擬(二模)考試英語試題試卷含答案
- 2024年廣東省廣州市中考英語試卷附答案
- 水泥產品生產許可證實施細則()
- 前程無憂國企招聘筆試題庫
- 傳統文化與文化傳統智慧樹知到期末考試答案章節答案2024年廣東工業大學
- 產業園區開發全流程實操解析
- 2024版滴灌購銷合同滴灌合同
- NBT 47013.4-2015 承壓設備無損檢測 第4部分:磁粉檢測
- 血友病病人科普宣教課件模板
- 大學生就業協議書電子版
- TD/T 1057-2020 國土調查數據庫標準(正式版)
評論
0/150
提交評論