AngularJs的一些扯淡的服務(wù)

? ? ?$provide告訴angularJs如何創(chuàng)建一個(gè)新的可注入的東西:即服務(wù)。通過(guò)$provide的provider方法創(chuàng)建出不同的供應(yīng)商些膨,$provide被注入到config中獲取$provide服務(wù)然后利用不同的供應(yīng)商定義服務(wù)谢肾。其中定義供應(yīng)商的辦法:constant腕侄,定義常量的,他定義的值不能被改變,它可以被注入到任何地方冕杠,但是不能被decorator修飾微姊;value,可以是string分预、number兢交、function,可以被改變笼痹,但是不能注入到config中魁淳,可以被decorator修飾;service与倡,一個(gè)可注入的構(gòu)造器,可用于controller中的數(shù)據(jù)共享或者通信昆稿;factory纺座,一個(gè)可注入的function;provider溉潭,一個(gè)可配置的factory净响,有一個(gè)$get方法;decorator喳瓣,用來(lái)裝飾其他$provider馋贤。

? ? ?使用factory創(chuàng)建服務(wù)的時(shí)候,相當(dāng)于新創(chuàng)建一個(gè)對(duì)象畏陕,然后在這個(gè)對(duì)象上添加屬性配乓,最后返回這個(gè)對(duì)象,當(dāng)把這個(gè)服務(wù)注入到控制器的時(shí)候惠毁,控制器可以訪問(wèn)這個(gè)對(duì)象上的屬性犹芹。使用service創(chuàng)建服務(wù)的時(shí)候,相當(dāng)于用new關(guān)鍵詞進(jìn)行實(shí)例化鞠绰,因此只需要在this上添加屬性或方法腰埂,最后會(huì)自動(dòng)返回this。provider唯一一個(gè)可以創(chuàng)建用來(lái)注入到config中的服務(wù)蜈膨。

? ? ?$digest大致可以理解為整個(gè)ng中的一個(gè)臟檢查循環(huán)屿笼,$apply大致可以理解為從正常的js跳到angularjs的上下文中其實(shí)也可以將某些東西加入到angular的臟檢查循環(huán)中,$watch監(jiān)聽(tīng)ng中的相關(guān)屬性方法值的改變翁巍。這就要說(shuō)到我們的雙向綁定了驴一,在整個(gè)angualr中的初始操作的時(shí)候?qū)⑺邢嚓P(guān)元素加入到digest循環(huán)并且綁定watch去監(jiān)聽(tīng),當(dāng)有事件進(jìn)入就會(huì)觸發(fā)digest循環(huán)去查看有那些發(fā)生了變化并去作出改變灶壶,當(dāng)然如果有一些元素需要加入到循環(huán)中去監(jiān)控這就需要用到apply蛔趴,或者是說(shuō)有一些不通過(guò)事件去改變?cè)匾残枰玫絘pply,這就做出了兩種 一種事件進(jìn)入自動(dòng)觸發(fā)apply引起digest循環(huán)去watch元素變化,另一種則是手動(dòng)啟動(dòng)apply孝情。

? ? $eval==>$parse大致可以理解為解析界面中的表達(dá)式鱼蝉,eval我們很熟悉就是執(zhí)行js字符串,在ng中呢它則是去走parse將頁(yè)面中的那些表達(dá)式(雙向綁定)去解析成我們需要的值箫荡,那么接著說(shuō)$compile大致理解為將一些html字符串解析成dom元素魁亦,但是它的解析是根據(jù)從dom樹以及rootscope中的各個(gè)節(jié)點(diǎn)解析出字符串中的各個(gè)動(dòng)作返回去一個(gè)符合ng中統(tǒng)一需求的dom。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末羔挡,一起剝皮案震驚了整個(gè)濱河市洁奈,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌绞灼,老刑警劉巖利术,帶你破解...
    沈念sama閱讀 217,509評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異低矮,居然都是意外死亡印叁,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門军掂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)轮蜕,“玉大人,你說(shuō)我怎么就攤上這事蝗锥≡韭澹” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 163,875評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵终议,是天一觀的道長(zhǎng)汇竭。 經(jīng)常有香客問(wèn)我,道長(zhǎng)穴张,這世上最難降的妖魔是什么韩玩? 我笑而不...
    開(kāi)封第一講書人閱讀 58,441評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮陆馁,結(jié)果婚禮上找颓,老公的妹妹穿的比我還像新娘。我一直安慰自己叮贩,他們只是感情好击狮,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著益老,像睡著了一般彪蓬。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上捺萌,一...
    開(kāi)封第一講書人閱讀 51,365評(píng)論 1 302
  • 那天档冬,我揣著相機(jī)與錄音,去河邊找鬼。 笑死酷誓,一個(gè)胖子當(dāng)著我的面吹牛披坏,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播盐数,決...
    沈念sama閱讀 40,190評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼棒拂,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了玫氢?” 一聲冷哼從身側(cè)響起帚屉,我...
    開(kāi)封第一講書人閱讀 39,062評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎漾峡,沒(méi)想到半個(gè)月后攻旦,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,500評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡生逸,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評(píng)論 3 335
  • 正文 我和宋清朗相戀三年牢屋,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片牺陶。...
    茶點(diǎn)故事閱讀 39,834評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖辣之,靈堂內(nèi)的尸體忽然破棺而出掰伸,到底是詐尸還是另有隱情,我是刑警寧澤怀估,帶...
    沈念sama閱讀 35,559評(píng)論 5 345
  • 正文 年R本政府宣布狮鸭,位于F島的核電站,受9級(jí)特大地震影響多搀,放射性物質(zhì)發(fā)生泄漏歧蕉。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評(píng)論 3 328
  • 文/蒙蒙 一康铭、第九天 我趴在偏房一處隱蔽的房頂上張望惯退。 院中可真熱鬧,春花似錦从藤、人聲如沸催跪。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,779評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)懊蒸。三九已至,卻和暖如春悯搔,著一層夾襖步出監(jiān)牢的瞬間骑丸,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,912評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留通危,地道東北人铸豁。 一個(gè)月前我還...
    沈念sama閱讀 47,958評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像黄鳍,于是被迫代替她去往敵國(guó)和親推姻。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 1框沟、angularjs的幾大特性是什么藏古? 雙向數(shù)據(jù)綁定、依賴注入忍燥、模板拧晕、指令、MVC/MVVM 2梅垄、列舉幾種常見(jiàn)的...
    2e9a10d418ab閱讀 1,271評(píng)論 0 10
  • 1厂捞、angularjs的幾大特性是什么? 雙向數(shù)據(jù)綁定队丝、依賴注入靡馁、模板、指令机久、MVC/MVVM 2臭墨、列舉幾種常見(jiàn)的...
    秀才JaneBook閱讀 1,542評(píng)論 0 22
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)膘盖,斷路器胧弛,智...
    卡卡羅2017閱讀 134,656評(píng)論 18 139
  • Angular面試題 一、ng-show/ng-hide與ng-if的區(qū)別侠畔? 第一點(diǎn)區(qū)別是结缚,ng-if在后面表達(dá)式...
    w_zhuan閱讀 5,527評(píng)論 0 26
  • AngularJSAngularJS 是一個(gè) MV* 框架, 最適于開(kāi)發(fā)客戶端的單頁(yè)面應(yīng)用软棺。它不是個(gè)功能庫(kù)红竭,...
    一直以來(lái)都很好閱讀 899評(píng)論 0 0