日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > javascript >内容正文

javascript

Day 2: AngularJS —— 对AngularJS的初步认识

發(fā)布時(shí)間:2025/3/21 javascript 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Day 2: AngularJS —— 对AngularJS的初步认识 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

昨晚我完爆了一天一技術(shù)的任務(wù)(完成的很好),談的是關(guān)于Bower的一些知識(shí),你可以在這里看一下文章,也可以去 reddit 看看大家的討論。

今天我打算學(xué)習(xí)一下AngularJS的基本知識(shí),并希望能用它做一個(gè)簡(jiǎn)單小應(yīng)用。我也會(huì)在這篇文章里用到Bower,我不可能在一天之內(nèi)學(xué)習(xí)完AngularJS,所以我打算用好幾天時(shí)間來(lái)學(xué)習(xí),每天涉及其中不同的點(diǎn)。


什么是AngularJS?

  • 擴(kuò)展HTML添加動(dòng)態(tài)特性,因此我們可以輕松地構(gòu)建現(xiàn)代web應(yīng)用程序

  • 以你想要的方式使用

  • 帶你回到HTML

  • 聲明方法

  • 簡(jiǎn)單

  • 通過(guò)雙向數(shù)據(jù)綁定消除DOM操作,任何時(shí)候當(dāng)模型改變時(shí)視圖都會(huì)得到更新,反之亦然

  • 你可以用它來(lái)構(gòu)建單頁(yè)Web應(yīng)用程序。當(dāng)你構(gòu)建如路由,Ajax調(diào)用,數(shù)據(jù)綁定,緩存,歷史記錄和DOM操作這類的SPA應(yīng)用時(shí),會(huì)有很多的挑戰(zhàn)。

  • AngularJS的主要組件是:

  • 控制器:視圖背后的代碼

  • 作用域:包含模型數(shù)據(jù),粘合控制器和視圖

  • 模塊:定義新的服務(wù),或使用現(xiàn)有的服務(wù)、指令、過(guò)濾器等,模塊可以依賴于另一個(gè)模塊

  • 指令:允許你通過(guò)定義自己項(xiàng)目特定的HTML指令來(lái)擴(kuò)展HTML,學(xué)習(xí)HTML的新花樣


  • 為什么我會(huì)在意AngularJS?

    對(duì)我而言有兩個(gè)主要原因:

  • 它是由谷歌支持,有很多開(kāi)發(fā)者的大社區(qū)

  • 全棧框架:這意味著我不需要依靠其他數(shù)百萬(wàn)計(jì)的腳本,它們會(huì)很好地整合在一起


  • 前提準(zhǔn)備

    我們將使用Bower為示例應(yīng)用程序安裝AngularJS,如果你還沒(méi)有安裝bower,那么請(qǐng)看我前一篇博文。


    安裝AngularJS

    在系統(tǒng)的任何方便的位置創(chuàng)建一個(gè)叫 bookshop 的目錄,用下面命令來(lái)安裝AngularJS和Twitter bootstrap:

    $ bower install angular $ bower install bootstrap

    上面的命令會(huì)在bookshop目錄下創(chuàng)建一個(gè)叫bower_components的文件夾,里邊有已安裝的全部組件。


    開(kāi)始使用AngularJS

    現(xiàn)在創(chuàng)建一個(gè)名為 index.html 的html文件,它將會(huì)是一個(gè)基于AngularJS的網(wǎng)上書(shū)店應(yīng)用。

    <!doctype html> <html> <head><title>Bookshop - Your Online Bookshop</title><link rel="stylesheet" type="text/css" href="bower_components/bootstrap/dist/css/bootstrap.min.css"> </head> <body><div class="container"><h2>Your Online Bookshop</h2></div><script type="text/javascript" src="bower_components/angular/angular.min.js"></script> </body> </html>

    如果你在瀏覽器打開(kāi)這個(gè)文件,你會(huì)看到“你的網(wǎng)上書(shū)店”正在呈現(xiàn),但這并不是AngularJS的厲害之處,所以接下來(lái)我們看看它真正有趣的地方:

    <!doctype html> <html ng-app> <head><title>Bookshop - Your Online Bookshop</title><link rel="stylesheet" type="text/css" href="bower_components/bootstrap/dist/css/bootstrap.min.css"> </head> <body><div class="container" ng-init="books=['Effective Java','Year without Pants','Confessions of public speaker','JavaScript Good Parts']"><h2>Your Online Bookshop</h2><ul class="unstyled"><li ng-repeat="book in books">{{book}}</li></ul></div><script type="text/javascript" src="bower_components/angular/angular.min.js"></script> </body> </html>

    上邊這段代碼有一些需要注意的點(diǎn):

  • 在HTML標(biāo)簽里邊,我們已經(jīng)定義了ng-app。這將初始化AngularJS應(yīng)用程序,并告訴AngularJS要在這一部分活躍。所以,它在應(yīng)用程序里是活躍整個(gè)html文件的。

  • 我們所使用的第二個(gè)Angular指令是ng-init。這將初始化書(shū)籍?dāng)?shù)組中的一個(gè),我們可以將它應(yīng)用在我們的應(yīng)用程序中。

  • 最后一個(gè)有趣的部分,是用于遍歷集合中的所有元素的ng-repeat指令。Angular將為每個(gè)元素增加 li 元素。所以,如果我們?cè)赪eb瀏覽器中打開(kāi)它,將會(huì)看到在一個(gè)列表中有四本書(shū)。

  • 上邊是以字符串?dāng)?shù)組的形式使用數(shù)據(jù),但也可以用存儲(chǔ)對(duì)象的方式,如下:

    <!doctype html> <html ng-app> <head><title>Bookshop - Your Online Bookshop</title><link rel="stylesheet" type="text/css" href="bower_components/bootstrap/dist/css/bootstrap.min.css"> </head> <body><div class="container" ng-init="books=[{'name': 'Effective Java', 'author':'Joshua Bloch'},{'name': 'Year without Pants', 'author':'Scott Berkun'},{ 'name':'Confessions of public speaker','author':'Scott Berkun'},{'name':'JavaScript Good Parts','author':'Douglas Crockford'}]"><h2>Your Online Bookshop</h2><ul class="unstyled"><li ng-repeat="book in books"><span>{{book.name}} written by {{book.author}}</span></li></ul></div><script type="text/javascript" src="bower_components/angular/angular.min.js"></script> </body> </html>

    在上面的代碼中,我們創(chuàng)建了一個(gè)書(shū)籍?dāng)?shù)組對(duì)象,其中每本書(shū)對(duì)象都有名字和作者。最后,我們?cè)诹斜碇型瑫r(shí)列出作者姓名和書(shū)籍名稱。

    使用過(guò)濾器

    Angular提供了過(guò)濾器,這有助于格式化數(shù)據(jù)。你可以使用過(guò)濾器來(lái)格式化日期、貨幣、大小寫(xiě)字符、排列順序和基于搜索的過(guò)濾。下面就是一個(gè)教你如何利用過(guò)濾器來(lái)大寫(xiě)的作者姓名和按書(shū)名來(lái)排序的例子:

    <!doctype html> <html ng-app> <head><title>Bookshop - Your Online Bookshop</title><link rel="stylesheet" type="text/css" href="bower_components/bootstrap/dist/css/bootstrap.min.css"> </head> <body><div class="container" ng-init="books=[{'name': 'Effective Java', 'author':'Joshua Bloch'},{'name': 'Year without Pants', 'author':'Scott Berkun'},{ 'name':'Confessions of public speaker','author':'Scott Berkun'},{'name':'JavaScript Good Parts','author':'Douglas Crockford'}]"><h2>Your Online Bookshop</h2><ul class="unstyled"><li ng-repeat="book in books | orderBy :'name'"><span>{{book.name}} written by {{book.author | uppercase}}</span></li></ul></div><script type="text/javascript" src="bower_components/angular/angular.min.js"></script> </body> </html>

    正如你所看到的,我們?cè)?ng-repeat 指令中使用了按順序排列的過(guò)濾器,在顯示作者姓名時(shí)用一個(gè)大寫(xiě)過(guò)濾器。

    為了添加一個(gè)搜索過(guò)濾器,添加搜索輸入的文本框,然后使用一個(gè)過(guò)濾器以搜索限制結(jié)果,如下:

    <!doctype html> <html ng-app> <head><title>Bookshop - Your Online Bookshop</title><link rel="stylesheet" type="text/css" href="bower_components/bootstrap/dist/css/bootstrap.min.css"> </head> <body><div class="container" ng-init="books=[{'name': 'Effective Java', 'author':'Joshua Bloch'},{'name': 'Year without Pants', 'author':'Scott Berkun'},{ 'name':'Confessions of public speaker','author':'Scott Berkun'},{'name':'JavaScript Good Parts','author':'Douglas Crockford'}]"><h2>Your Online Bookshop</h2><input type="search" ng-model="criteria"><ul class="unstyled"><li ng-repeat="book in books | filter:criteria | orderBy :'name'"><span>{{book.name}} written by {{book.author | uppercase}}</span></li></ul></div><script type="text/javascript" src="bower_components/angular/angular.min.js"></script> </body> </html>

    使用控制器

    控制器是AngularJS的主要組件之一,它們是給視圖提供動(dòng)力和數(shù)據(jù)的代碼。在我們的例子中,我們可以將測(cè)試數(shù)據(jù)初始化代碼移到一個(gè)控制器,創(chuàng)建一個(gè)名為app.js的JavaScript文件,它將容納我們應(yīng)用程序所有特定的JavaScript代碼。

    function BookCtrl($scope){$scope.books = [{'name': 'Effective Java', 'author':'Joshua Bloch'},{'name': 'Year without Pants', 'author':'Scott Berkun'},{ 'name':'Confessions of public speaker','author':'Scott Berkun'},{'name':'JavaScript Good Parts','author':'Douglas Crockford'}] }

    $scope 控制器和視圖之間的粘合劑,而且會(huì)注入到BookCtrl。現(xiàn)在我們添加書(shū)籍?dāng)?shù)組的對(duì)象到 $scope 對(duì)象,這個(gè)對(duì)象對(duì)視圖是可見(jiàn)的。

    現(xiàn)在改變index.html使用BookCtrl,如下:

    <!DOCTYPE html> <html ng-app> <head><title>Bookshop - Your Online Bookshop</title><link rel="stylesheet" type="text/css" href="bower_components/bootstrap/dist/css/bootstrap.min.css"> </head> <body><div class="container" ng-controller="BookCtrl"><h2>Your Online Bookshop</h2><input type="search" ng-model="criteria"><ul class="unstyled"><li ng-repeat="book in books | filter:criteria | orderBy :'name'"><span>{{book.name}} written by {{book.author | uppercase}}</span></li></ul></div><script type="text/javascript" src="bower_components/angular/angular.min.js"></script> <script type="text/javascript" src="app.js"></script> </body> </html>



    今天就這些內(nèi)容,這也只是冰山一角。我將會(huì)用很多天來(lái)學(xué)習(xí)AngularJS的特性,它真的是一個(gè)神奇又強(qiáng)大的庫(kù)。



    原文 Day 2: AngularJS--Getting My Head Around AngularJS
    翻譯 SegmentFault

    from: http://segmentfault.com/a/1190000000350125

    總結(jié)

    以上是生活随笔為你收集整理的Day 2: AngularJS —— 对AngularJS的初步认识的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 浮力影院国产第一页 | 麻豆亚洲精品 | 日日日插插插 | 激情欧美亚洲 | 色姑娘av| 强行侵犯视频在线观看 | 污片视频在线观看 | 亚洲理论中文字幕 | 亚洲欧美影院 | 亚洲欧美一区二区三区久久 | 日韩在线观看视频一区二区三区 | 在线不卡日本 | 一区二区三区日韩在线 | av资源导航 | 欧美xxxⅹ性欧美大片 | 一级a性色生活片久久毛片 爱爱高潮视频 | 日日摸夜夜添夜夜 | 国产五月婷婷 | 亚洲草草网 | 国产日韩一区二区在线观看 | 一级全黄裸体片 | 亚洲人精品午夜射精日韩 | 办公室摸腿吻胸激情视频 | 青青视频一区二区 | 中文字幕一区在线播放 | 欧美涩色| 无码精品国产一区二区三区免费 | 日本大尺度做爰呻吟 | 色日韩| 丁香av| www.毛片.com | 日韩aa视频 | 久久久久久久久久久国产精品 | 国产欧美日韩精品在线观看 | 亚洲精品区 | 日本护士取精xxxxxhd | 国产一区二区三区在线免费观看 | 又色又爽又黄 | 久久精品国产亚洲av嫖农村妇女 | 经典一区二区 | 国产免费无码XXXXX视频 | 中文字幕成人网 | 成年人的视频网站 | 涩涩视频网站 | 三级国产视频 | 欧美第一色 | 91久久精品国产91性色69 | 国产精品一级片在线观看 | 国产欧美三级 | 末发成年娇小性xxxxx | 欧美日韩一区二区三区视频 | 中文字幕网址在线 | 禁果av一区二区三区 | 永久免费看mv网站入口78 | 国产九九久久 | 激情 亚洲 | 99久久精| 日日射天天射 | 波多野吉衣av无码 | 自拍偷拍三级 | 操的网站| 日本福利一区二区三区 | 久久久国产精品一区二区三区 | 大香伊人中文字幕精品 | 蜜桃导航-精品导航 | 91超碰在线观看 | 日韩中文字幕免费在线观看 | 狠狠爱夜夜爱 | 奇米一区二区 | 精品国产自在精品国产精小说 | 又污又黄的网站 | 亚洲最新在线观看 | 国产熟女一区二区三区四区 | 99色网站| 国产精品久久久久久免费 | 欧美日韩另类在线 | 黑人添美女bbb添高潮了 | 婷婷九九| 青少年xxxxx性开放hg | www.亚洲精品 | 国产精品免费久久 | 欧美理论在线观看 | 欧美在线视频一区 | 中国色老太hd| 日韩aaaaaa| 日韩欧美精品在线 | 在线播放国产一区 | 国产馆av | 色欲欲www成人网站 老色鬼av | 国产黄色一级片 | 成人网在线看 | 爱搞逼综合| 日韩网站在线播放 | 无码国产69精品久久久久网站 | 亚洲视频中文字幕在线观看 | av一区免费| 久久精品在线免费观看 | 国产精品一二三四五 | 精品人伦一区二区三区蜜桃免费 |