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

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

生活随笔

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

javascript

《AngularJS深度剖析与最佳实践》一2.2 模块

發(fā)布時(shí)間:2025/4/5 javascript 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《AngularJS深度剖析与最佳实践》一2.2 模块 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本節(jié)書(shū)摘來(lái)自華章出版社《AngularJS深度剖析與最佳實(shí)踐》一書(shū)中的第2章,第2.2節(jié),作者 雪狼 破狼 彭洪偉,更多章節(jié)內(nèi)容可以訪問(wèn)云棲社區(qū)“華章計(jì)算機(jī)”公眾號(hào)查看

2.2 模塊

與其他現(xiàn)代語(yǔ)言不同,當(dāng)前版本的JavaScript(ECMAScript 5)并沒(méi)有內(nèi)置模塊化語(yǔ)法。但是,隨著程序規(guī)模越來(lái)越大,模塊化的需求越來(lái)越重要,于是出現(xiàn)了require.js等第三方庫(kù),試圖用庫(kù)來(lái)彌補(bǔ)語(yǔ)言的不足。Angular并不依賴require.js等第三方庫(kù),而是自己實(shí)現(xiàn)了模塊化系統(tǒng),這個(gè)系統(tǒng)的核心就是模塊(module)。
我們先來(lái)回顧一下“模塊”的概念,然后自然就明白Angular中的module是怎么回事了。
所謂模塊是指把相關(guān)的一組編程元素(如類(lèi)、函數(shù)、變量等)組織到同一個(gè)發(fā)布包中。這些編程元素之間緊密協(xié)作,隱藏實(shí)現(xiàn)細(xì)節(jié),只通過(guò)公開(kāi)的接口與其他模塊合作。
模塊是一個(gè)粒度適中的復(fù)用單位,也是最常見(jiàn)的復(fù)用形式。比如我們常用的第三方庫(kù)往往對(duì)外公開(kāi)好幾個(gè)類(lèi),使用者只要關(guān)注其公開(kāi)接口就可以了,不用了解其實(shí)現(xiàn)細(xì)節(jié),這種第三方庫(kù)就是一個(gè)“模塊”。
Angular的module也是如此。Angular中的編程元素包括Service、Directive、Filter、Controller等,它們只有通過(guò)模塊進(jìn)行“導(dǎo)出”才能供別人使用。如:angular.module('com.ngnice.app').service('ui', function() {...});語(yǔ)句的作用是:先取出一個(gè)名為com.ngnice.app的模塊,然后把function() {...}作為一個(gè)回調(diào)函數(shù)以u(píng)i作為名字注冊(cè)進(jìn)去。這樣,別人就可以隨時(shí)通過(guò)ui這個(gè)名字把它從com.ngnice.app模塊中取出來(lái)。
所以,我們可以簡(jiǎn)單地把模塊看做一個(gè)注冊(cè)表(registry),它保存著名字和編程元素的對(duì)照表,既可以存入,也可以取出。
一個(gè)程序往往不會(huì)只含有一個(gè)模塊,這些模塊需要互相協(xié)作,這就導(dǎo)致了模塊之間具有依賴關(guān)系,比如有一個(gè)可復(fù)用模塊,名叫common,而我們的應(yīng)用想要使用其中名叫authHandler的service。那么我們就要先聲明這種依賴關(guān)系:angular.module('com.ngnice.app', ['common']),這樣,Angular就知道該去common模塊中查找這個(gè)名叫authHandler的Service。如果沒(méi)有聲明這種依賴關(guān)系,那么就算引入了它所在的JavaScript文件,也照樣是無(wú)法找到的,這是新手很容易踩坑的地方,請(qǐng)?zhí)貏e注意。同時(shí),Angular還可以自動(dòng)檢測(cè)出循環(huán)依賴,以免出現(xiàn)無(wú)限遞歸。
注意,我們剛才調(diào)用了兩次module函數(shù):angular.module('com.ngnice.app')和angular.module('com.ngnice.app', ['common']),前者可不是后者的簡(jiǎn)寫(xiě)形式,而是具有完全不同的含義:前者的作用是引用一個(gè)模塊,也就是說(shuō)查找一個(gè)名叫app的模塊,并返回其引用,如果模塊不存在,則會(huì)觸發(fā)一個(gè)異常[$injector:nomod] Module 'com.ngnice.app' is not available...;而后者的作用是創(chuàng)建一個(gè)模塊,并且聲明這個(gè)模塊需要依賴一個(gè)名為common的模塊,第二個(gè)參數(shù)是個(gè)數(shù)組,所以還可以聲明依賴更多個(gè)模塊。
模塊依賴關(guān)系是一棵樹(shù),這就意味著:凡是依賴了app模塊的更高級(jí)模塊,也會(huì)自動(dòng)依賴app所依賴的common等模塊。

總結(jié)

以上是生活随笔為你收集整理的《AngularJS深度剖析与最佳实践》一2.2 模块的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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

主站蜘蛛池模板: 91香蕉视频在线看 | 伊人免费在线观看 | 久久精品久久精品久久精品 | 依依成人在线视频 | h色视频在线观看 | 美女露胸露尿口 | 亚洲精选在线观看 | 黄色片女人 | 日韩午夜 | 欧美先锋影音 | 中文字幕影院 | 国产精品一区二区三区线羞羞网站 | 久草在现 | 五月激情在线 | 午夜精品福利一区二区三区蜜桃 | 国产精品自拍电影 | 五十路六十路七十路熟婆 | 激情久久av | 亚洲成色| 免费在线观看视频 | 成人午夜视频免费看 | 韩日a级片 | 国产孕妇一区二区三区 | 久久蜜桃av一区二区天堂 | 俄罗斯一级片 | 夜夜摸夜夜操 | 在线电影一区二区三区 | 国产极品网站 | 777在线视频 | 日日夜夜撸啊撸 | 五月丁香综合激情六月久久 | 91精品国产成人 | 男女视频网站 | 国产乱码精品一区二三赶尸艳谈 | 97超碰色| 奇米成人影视 | 杨贵妃颤抖双乳呻吟求欢小说 | 精品国产视频一区二区三区 | 精品一区二区三区日韩 | 成人久草 | 91精品国产综合久久久蜜臀 | 国产不卡免费视频 | 夜夜爽天天爽 | 91久久久久久久久久久久久 | 亚洲h视频| 艳妇臀荡乳欲伦交换电影 | 91人人澡人人爽人人精品 | 另类专区成人 | www.18av| 亚洲成人1区 | 日本中文字幕在线免费观看 | 国产1区2区3区4区 | 欧美大喷水吹潮合集在线观看 | 国产一区在线观看视频 | 欧美精品韩国精品 | 精品一区二区三区人妻 | 中国黄色免费 | 天天插天天透 | www.久久视频 | 成人免费毛片免费 | 大尺度叫床戏做爰视频 | 91大神在线免费观看 | 男人都懂的网址 | jizz免费观看| 男人用嘴添女人下身免费视频 | 影音先锋中文字幕在线播放 | 天堂网av中文字幕 | 黄色一级视频 | 国产另类视频 | 毛片h| 嫩草视频在线观看免费 | 欧美精彩视频 | 国产xxx视频 | 国产高清自拍av | 特黄特色特刺激免费播放 | 成人激情开心网 | 久久久精品网站 | 国产日韩一区二区三免费高清 | 在线免费一级片 | 激情在线视频 | 激情久久久久 | 亚洲av综合永久无码精品天堂 | 视频这里只有精品 | 神马久久久久久久 | 黄色69视频 | 中国字幕av | 青青草伊人久久 | 91日韩一区二区 | av午夜激情 | 天天天天色 | 在线观看你懂的视频 | 久久福利影院 | 国产一区二区视频免费观看 | 91国产视频在线观看 | 97国产精东麻豆人妻电影 | 成人国产在线 | 国语粗话呻吟对白对白 | 淫品色影院 | 久久久www成人免费毛片 |