Angular 面試題

ng-if跟ng-show/hide的區(qū)別有哪些?

  • 1.ng-if在表達(dá)式為true的時(shí)候才創(chuàng)建DOM節(jié)點(diǎn)掠手,ng-show是初始化時(shí)就創(chuàng)建用display:none與display:block來(lái)控制顯示和不顯示
  • 2.ng-if會(huì)(隱式的)產(chǎn)生新作用域官帘,ng-switch豌鸡、ng-include等會(huì)動(dòng)態(tài)創(chuàng)建一塊界面的也是如此躯砰,這樣會(huì)導(dǎo)致ng-if用基本變量綁定ng-model不會(huì)進(jìn)行雙向綁定,因?yàn)榇藭r(shí)已經(jīng)是兩個(gè)變量了
  • 3.ng-if是控制DOM節(jié)點(diǎn)的增加先壕、刪除實(shí)現(xiàn)的

ng-repeat重復(fù)數(shù)組時(shí)有相同值

  • 用track by $index來(lái)解決

filter過(guò)濾器

  • date 日期
  • currency 貨幣
  • limitTo 限制數(shù)組或字符串長(zhǎng)度
  • orderBy 排序
  • lowercase 小寫(xiě)
  • uppercase 大寫(xiě)
  • number 格式化數(shù)字
  • filter 處理一個(gè)數(shù)組 過(guò)濾含有某個(gè)字符串的元素
  • json 格式化Json對(duì)象
  • filter有兩種使用方法,
  • 1.在頁(yè)面里
  • 2.在js里 $filter

自定義服務(wù)的幾種方式

  • $factory:把service的方法和數(shù)據(jù)放到創(chuàng)建的一個(gè)對(duì)象里谆甜,并且返回這個(gè)對(duì)象
  • $service:通過(guò)構(gòu)造函數(shù)new創(chuàng)建出來(lái)service 返回一個(gè)實(shí)例化對(duì)象,this指向不一樣
  • $provider:可以傳進(jìn).config()函數(shù)的service,當(dāng)想要在service對(duì)象啟用之前垃僚,先進(jìn)性模塊范圍的配置,應(yīng)該用provider

angular雙向數(shù)據(jù)綁定機(jī)制

  • 臟檢查機(jī)制
  • 當(dāng)處理事件時(shí) 觸發(fā)$digest流程 從rootscope開(kāi)始循環(huán)遍歷规辱,檢查所有$watch進(jìn)行數(shù)據(jù)更新
  • $digest循環(huán)的上限是10次(超出后拋出異常)
  • click事件產(chǎn)生一次更新的操作(至少觸發(fā)兩次$digest循環(huán))

angular模塊(組件)之間的通信

  • 第一種是借助父 controller谆棺。在子 controller 中向父 controller 觸發(fā)( $emit )一個(gè)事件,然后在父 controller 中監(jiān)聽(tīng)( $on )事件罕袋,再?gòu)V播( $broadcast )給子 controller 改淑,這樣通過(guò)事件攜帶的參數(shù)碍岔,實(shí)現(xiàn)了數(shù)據(jù)經(jīng)過(guò)父 controller,在同級(jí) controller 之間傳播朵夏。
  • 2.service
  • 3.$rootScope

angular 應(yīng)用常用哪些路由庫(kù)蔼啦,各自的區(qū)別是什么?

  • ng-Route 仰猖、ui-Router
  • ng-Route是angular自帶路由模塊
  • ui-router 是基于ng-route開(kāi)發(fā)的第三方模塊
  • ui.router 是基于 state (狀態(tài))的
  • ngRoute 是基于 url 的
  • ui.router模塊具有更強(qiáng)大的功能捏肢,主要體現(xiàn)在視圖的嵌套方面。
  • 使用 ui.router 能夠定義有明確父子關(guān)系的路由亮元,并通過(guò) ui-view 指令將子路由模版插入到父路由模板的 <div ui-view></div> 中去猛计,從而實(shí)現(xiàn)視圖嵌套。而在 ngRoute 中不能這樣定義爆捞,如果同時(shí)在父子視圖中 使用了 <div ng-view></div> 會(huì)陷入死循環(huán)奉瘤。

- 詳述 angular 的 “依賴(lài)注入”

  • 賴(lài)注入是一種軟件設(shè)計(jì)模式,目的是處理代碼之間的依賴(lài)關(guān)系煮甥,減少組件間的耦合盗温。
  • 原理:AngularJS是通過(guò)構(gòu)造函數(shù)的參數(shù)名字來(lái)推斷依賴(lài)服務(wù)名稱(chēng)的,通過(guò) toString() 來(lái)找到這個(gè)定義的 function 對(duì)應(yīng)的字符串成肘,然后用正則解析出其中的參數(shù)(依賴(lài)項(xiàng))卖局,再去依賴(lài)映射中取到對(duì)應(yīng)的依賴(lài),實(shí)例化之后傳入双霍。

解釋下什么是$rootScrope以及和$scope的區(qū)別砚偶?

  • 俗的說(shuō)$rootScrope 頁(yè)面所有$scope的父親。

Angular Directive中restrict 中分別可以怎樣設(shè)置洒闸?scope中@,=,&有什么區(qū)別染坯?

  • ECMA
  • 在scope中,@,=,&在進(jìn)行值綁定時(shí)分別表示
  • @獲取一個(gè)設(shè)置的字符串丘逸,它可以自己設(shè)置的也可以使用{{yourModel}}進(jìn)行綁定的;
  • = 雙向綁定单鹿,綁定scope上的一些屬性;
  • & 用于執(zhí)行父級(jí)scope上的一些表達(dá)式深纲,常見(jiàn)我們?cè)O(shè)置一些需要執(zhí)行的函數(shù)

優(yōu)化 Angular 應(yīng)用的性能

  • 減少監(jiān)控項(xiàng)(比如對(duì)不會(huì)變化的數(shù)據(jù)采用單向綁定)
  • 主動(dòng)設(shè)置索引(指定 track by仲锄,簡(jiǎn)單類(lèi)型默認(rèn)用自身當(dāng)索引,對(duì)象默認(rèn)使用 $$hashKey湃鹊,比如改為 track by item.id)
  • 降低渲染數(shù)據(jù)量(比如分頁(yè)儒喊,或者每次取一小部分?jǐn)?shù)據(jù),根據(jù)需要再缺液恰)
  • 數(shù)據(jù)扁平化(比如對(duì)于樹(shù)狀結(jié)構(gòu)澄惊,使用扁平化結(jié)構(gòu),構(gòu)建一個(gè) map 和樹(shù)狀數(shù)據(jù),對(duì)樹(shù)操作時(shí)掸驱,由于跟扁平數(shù)據(jù)同一引用肛搬,樹(shù)狀數(shù)據(jù)變更會(huì)同步到原始的扁平數(shù)據(jù))
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市毕贼,隨后出現(xiàn)的幾起案子温赔,更是在濱河造成了極大的恐慌,老刑警劉巖鬼癣,帶你破解...
    沈念sama閱讀 210,914評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件陶贼,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡待秃,警方通過(guò)查閱死者的電腦和手機(jī)拜秧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評(píng)論 2 383
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)章郁,“玉大人枉氮,你說(shuō)我怎么就攤上這事∨” “怎么了聊替?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,531評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀(guān)的道長(zhǎng)培廓。 經(jīng)常有香客問(wèn)我惹悄,道長(zhǎng),這世上最難降的妖魔是什么肩钠? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,309評(píng)論 1 282
  • 正文 為了忘掉前任泣港,我火速辦了婚禮,結(jié)果婚禮上价匠,老公的妹妹穿的比我還像新娘爷速。我一直安慰自己,他們只是感情好霞怀,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,381評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著莉给,像睡著了一般毙石。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上颓遏,一...
    開(kāi)封第一講書(shū)人閱讀 49,730評(píng)論 1 289
  • 那天徐矩,我揣著相機(jī)與錄音,去河邊找鬼叁幢。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的鳞骤。 我是一名探鬼主播窒百,決...
    沈念sama閱讀 38,882評(píng)論 3 404
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼豫尽!你這毒婦竟也來(lái)了篙梢?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,643評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤美旧,失蹤者是張志新(化名)和其女友劉穎渤滞,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體榴嗅,經(jīng)...
    沈念sama閱讀 44,095評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡妄呕,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,448評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了嗽测。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片绪励。...
    茶點(diǎn)故事閱讀 38,566評(píng)論 1 339
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖论咏,靈堂內(nèi)的尸體忽然破棺而出优炬,到底是詐尸還是另有隱情,我是刑警寧澤厅贪,帶...
    沈念sama閱讀 34,253評(píng)論 4 328
  • 正文 年R本政府宣布蠢护,位于F島的核電站,受9級(jí)特大地震影響养涮,放射性物質(zhì)發(fā)生泄漏葵硕。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,829評(píng)論 3 312
  • 文/蒙蒙 一贯吓、第九天 我趴在偏房一處隱蔽的房頂上張望懈凹。 院中可真熱鬧,春花似錦悄谐、人聲如沸介评。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,715評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)们陆。三九已至,卻和暖如春情屹,著一層夾襖步出監(jiān)牢的瞬間坪仇,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,945評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工垃你, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留椅文,地道東北人喂很。 一個(gè)月前我還...
    沈念sama閱讀 46,248評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像皆刺,于是被迫代替她去往敵國(guó)和親少辣。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,440評(píng)論 2 348

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

  • Angular面試題 一芹橡、ng-show/ng-hide與ng-if的區(qū)別毒坛? 第一點(diǎn)區(qū)別是,ng-if在后面表達(dá)式...
    w_zhuan閱讀 5,519評(píng)論 0 26
  • AngularJS是什么林说?AngularJs(后面就簡(jiǎn)稱(chēng)ng了)是一個(gè)用于設(shè)計(jì)動(dòng)態(tài)web應(yīng)用的結(jié)構(gòu)框架煎殷。首先,它是...
    200813閱讀 1,590評(píng)論 0 3
  • 1腿箩、angularjs的幾大特性是什么? 雙向數(shù)據(jù)綁定珠移、依賴(lài)注入、模板钧惧、指令、MVC/MVVM 2浓瞪、列舉幾種常見(jiàn)的...
    2e9a10d418ab閱讀 1,261評(píng)論 0 10
  • 顯化清單 1乾颁、家人身體健康,開(kāi)心的生活英岭。 2、兒子學(xué)習(xí)認(rèn)真诅妹,對(duì)生活充滿(mǎn)積極的態(tài)度。 3尖殃、自己擁有滿(mǎn)滿(mǎn)的正能量,對(duì)人...
    寧_4d38閱讀 505評(píng)論 0 0
  • 【本周薦書(shū)】 《如何高效讀懂一本書(shū)》你或許還是覺(jué)得沒(méi)有時(shí)間讀書(shū);你或許還是覺(jué)得無(wú)法讀懂一本書(shū)场刑;你或許總是找不到讀書(shū)...
    小小sha閱讀 783評(píng)論 2 3