成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

5個示例帶你學習AngularJS

開發 前端
直到現在,你或許已經聽說過AngularJS了,一個改變你對web 應用思考方式,由谷歌開發的令人興奮的開源框架。

直到現在,你或許已經聽說過AngularJS了,一個改變你對web 應用思考方式,由谷歌開發的令人興奮的開源框架。關于它的文章已經寫得非常之多,但我發現還是要寫些給那些更喜歡快速且實際例子的開發者。當今對web編 程已經發生了改變。下面通過對5個實例的解釋,你可以找到Angular應用的基本構建塊,包括模型,視圖,控制器,服務和過濾器,你可以在自己的瀏覽器 中直接編輯。如果你更傾向于在你喜歡的代碼編輯器中打開,那么請下載zip包。

什么是AngularJS?

在高層次理解之上,AngularJS是一個把HTML(視圖)綁定到JavaScript對象(模型)上的框架。當模型改變時,頁面也能自動隨之 更新,反之亦然。當某個域的內容發生變化時,與之關聯的模型也能更新。正因為Angular處理了所有的中間代碼,所以你不用像jQuery那樣,手動更 新HTML或者事件監聽。事實上,這里沒有任何一個例子使用到了jQuery!

如果要使用AnguarJS,你就得在<body>標簽結束之前把它包含到你的頁面里。這里推薦使用谷歌CDN,相比來說,它有比較快速的加載時間:

  1. <script 
  2. src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js">< 
  3. /script> 

AngularJS通過大量的指令讓你能夠在模型和HTML元素間做關聯。它們就是以ng-開頭的屬性,并且能添加到任何元素上。如果你想使用Angular,你不得不為每個頁面包含一個最重要的屬性,即ng-app:

  1. <body ng-app> 

這個元素應該被添加到能夠包含剩余頁面的元素上,諸如body或者外圍的div元素之類。當頁面加載時,Angular會尋找這個屬性,并且會自動評估在子元素上看到的所有指令。

理論部分就到此為止了!現在讓我們看看代碼。

1.導航菜單

作為第一個例子,我們要構建一個會高亮選中條目的導航菜單。這個例子僅僅使用了Angular指令,同時可能也是使用這個框架最簡單的應用。查看源代碼請單擊”編輯”按鈕。開始準備實驗了!

no5

從以上的代碼得知,我們使用到了Angular指令來設置以及讀取active變量。當它改變時,它會引起使用到它的HTML自動更新。在 Angular的術語中,這樣的變量叫做模型。當前域中的所有指令都能使用它,并且在你的控制器(更多請看下面的例子)中也能獲取得到。

如果你之前使用過JavaScript模板,你對{{var}}語法應該會很熟悉。當框架看到這樣的字符串時,它會用變量的內容來代替。這種操作在變量改變時會重復一次。

2.內聯編輯器

對第二個例子,我們會創建一個簡單的內聯編輯器-單擊段落時會顯示文本提示框。我們會使用到一種控制器,能夠初始化模型,以及聲明兩個函數用來切換 提示的可見性。控制器是常規的JavaScript函數,能自動被Angular執行。使用中,用ng-controller指令關聯相關的頁面。

nm1

當控制器函數執行時,它能得到特殊的$scope對象作為其一個參數。在這個對象上增加屬性或者函數,同樣對視圖可用。使用ng-model綁定在文本域上告訴Angular當域值改變時,要更新相關內容(這樣反過來就能重新渲染段落上的值)。

3.訂單表單

在這個例子里,我們使用另一個Angular中非常有用的特性-過濾器,來編寫一個能實時更新總價的訂單表單。過濾器能通過管道符”|”級聯起來修改模型。在下面的例子中,我使用了貨幣過濾器,把數字轉換為正確格式化的價格,包括美元符號以及分。你也可以和即將看到的第四個例子一樣,很容易地創造自己的過濾器。

nm2

ng-repeat綁定(文檔)是框架的另一個有用的特性,能夠讓你遍歷數組元素并且生成相應的標記。當某個條目改變或者刪除時,它能夠智能地更新。

注釋:要得到更完整的版本,請查閱此教程,基于這個版本用Backbone.js實現。

#p#

4.即時搜索

這個例子允許用戶通過在文本域輸入來過濾條目集。這是Angular另一個出眾的地方,也是編寫自定義的過濾器最合適的地方。既然要這樣做,首先我們就不得不把我們的應用轉換成一個模塊。

模塊是把JavaScript應用組織成通過新穎而又有趣的方式進行綁定形成獨立組件的一種方式。Angular通過這種技術達到了代碼分離,并且要求你創建過濾器時遵循這種方式。在把你的應用轉變成模塊中,你僅僅需要做兩件事:

1.在你的JS中使用angular.module(“name”,[])函數調用。這樣就會進行初始化并且返回一個新的模塊;

2.通過ng-app指令值傳遞模塊的名稱。

然后創建過濾器僅僅是簡單地調用由angular.module(“name”,[])返回的模塊對象上的filter()方法。

nm4

過濾器同樣遵循Angular.js的哲學理念–每一份你寫的代碼應該是獨立的,可測試的以及可重用的。你可以在所有視圖中使用這個過濾器,甚至通過級聯和其它組件連接起來。

5.切換網格

另一個經常用到的交互UI是通過單擊按鈕來切換不同的布局模式(網格或者列表)。這用Angular來做非常容易。另外,我會介紹一下另一個重要的 概念–服務。它們是一種對象,能夠用來讓你的應用和服務器進行交互,比如:API,或者其它數據源。這個例子里,我們會編寫一個與InstagramAPI交互的服務,用它來返回以數組形式當前最流行的圖片。

請注意,要運行此代碼,我們要在頁面中包含額外的一個Angular.js:

  1. <script 
  2. src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular-resource.min.js">< 
  3. /script> 

這其中包含了ngResource模塊,能非常容易與AJAXAPI一起工作(此模塊在代碼中用$resource變量公開)。下面的編輯器里已經自動包含了這個文件。

nm5

服務是完全獨立的,因此編寫不同的實現可以不影響其它的代碼。比如在測試時,你可能更喜歡返回一個硬編碼的圖片數組來加快測試過程。

原文鏈接:http://tutorialzine.com/2013/08/learn-angularjs-5-examples/

譯文鏈接:http://blog.jobbole.com/48979/

責任編輯:陳四芳 來源: 伯樂在線
相關推薦

2016-02-26 15:22:15

AngularJS

2021-05-25 07:46:43

CSSCSS 變量Web應用

2021-04-28 21:19:48

FPGA設計流程

2017-12-05 11:25:09

2011-08-02 14:45:11

HTML 5

2017-05-27 15:21:38

JavaScript機器學習示例

2019-10-10 14:48:19

深度學習人工智能

2021-06-07 12:08:06

iOS Python API

2015-09-06 09:17:07

AngularJS構建框架

2015-10-08 09:58:58

AngularJSiOS開發

2020-11-27 11:07:29

人工智能

2021-03-01 11:39:34

機器學習深度學習人工智能

2016-02-22 10:30:38

AngularJSHTML5攝像頭

2020-05-28 13:11:37

Python編碼 開發

2018-04-02 11:59:04

Linux命令ln

2021-03-17 10:26:49

物聯網5G數字化轉型

2014-08-11 15:11:48

AngularJS

2011-08-23 16:34:58

HTML 5

2020-12-07 08:15:11

機器學習人工智能AI

2014-01-06 10:44:17

Angular數據
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲一区二区三区在线观看免费 | 欧美伊人影院 | 亚洲精品中文字幕中文字幕 | 国产精品久久久久久一区二区三区 | 日韩中文一区二区三区 | 亚洲精品视频在线 | 国产免费看 | 国产91亚洲精品 | 男人的天堂久久 | 精品美女视频在线观看免费软件 | 国产视频黄色 | 亚洲91| 国产在线精品一区二区三区 | 精品国产乱码久久久久久影片 | 久久婷婷国产麻豆91 | 欧美一区二区在线观看 | 成人h动漫亚洲一区二区 | 奇米视频777 | 精品欧美一区二区在线观看欧美熟 | 91免费在线看 | 91看片网 | 精品乱码一区二区三四区 | 日韩高清一区二区 | 久久久久久一区 | 99精品久久久久久中文字幕 | 久久人爽| 正在播放国产精品 | 日韩三级| www.日日干| 三区在线 | 国产精品久久二区 | 中文字幕av网址 | 亚洲成人黄色 | 国产精品视频免费观看 | 欧美精品成人一区二区三区四区 | 一区二区高清不卡 | 一区二区成人 | 久久综合av | 人人人人人爽 | 丁香婷婷久久久综合精品国产 | 中文在线一区二区 |