50個(gè)必須掌握的Angular面試題(轉(zhuǎn)載)

本篇文章給大家分享50個(gè)必須掌握的Angular面試題,會(huì)從初學(xué)者-中級-高級三個(gè)部分來解析這50個(gè)面試題,帶大家吃透它們翅帜!

image

我們整理了一份主要的Angular面試問題清單荣德,分為三部分:

  • 角度面試問題–初學(xué)者水平
  • 角度面試問題–中級
  • 角度面試問題–高級

【相關(guān)教程推薦:《angular教程》】

初學(xué)者水平–面試問題

1.區(qū)分Angular和AngularJS闷煤。

特征 AngularJS Angular
建筑 支持MVC設(shè)計(jì)模型 使用組件和指令
語言 推薦語言:JavaScript 推薦語言:TypeScript
表達(dá)式語法 圖片/屬性和事件需要特定的ng指令 使用()綁定事件,使用[]進(jìn)行屬性綁定
行動(dòng)支援 不提供任何移動(dòng)支持 提供移動(dòng)支持
路由 $ routeprovider.when()用于路由配置 @RouteConfig {(…)}用于路由配置
依賴注入 不支持依賴注入的概念 支持基于樹的單向更改檢測的分層依賴注入
結(jié)構(gòu)體 難以管理 簡化的結(jié)構(gòu)涮瞻,使大型應(yīng)用程序的開發(fā)和維護(hù)更加容易
速度 通過雙向數(shù)據(jù)綁定鲤拿,開發(fā)工作和時(shí)間得以減少 升級功能比AngularJS更快
支持 不再提供支持或新的更新 積極的支持和頻繁的新更新

2.什么是Angular?

Angular是一個(gè)開放源代碼的前端Web框架署咽。它是最流行的JavaScript框架之一近顷,主要由Google維護(hù)。它提供了一個(gè)輕松開發(fā)基于Web的應(yīng)用程序的平臺(tái)宁否,并使前端開發(fā)人員能夠管理跨平臺(tái)應(yīng)用程序窒升。它集成了強(qiáng)大的功能,例如聲明性模板慕匠,端到端工具饱须,依賴項(xiàng)注入以及各種其他使開發(fā)路徑更流暢的最佳實(shí)踐。

3.使用Angular有什么優(yōu)勢台谊?

下面列出了使用Angular框架的一些主要優(yōu)點(diǎn):

  • 支持雙向數(shù)據(jù)綁定
  • 它遵循MVC模式架構(gòu)
  • 它支持靜態(tài)模板和Angular模板
  • 您可以添加自定義指令
  • 它還支持RESTfull服務(wù)
  • 支持驗(yàn)證
  • 客戶端和服務(wù)器之間的通訊便利
  • 支持依賴注入
  • 具有強(qiáng)大的功能蓉媳,例如事件處理程序,動(dòng)畫等锅铅。

4. Angular主要用于什么酪呻?

Angular通常用于表示單頁應(yīng)用程序的SPA的開發(fā)。Angular提供了一組現(xiàn)成的模塊盐须,可簡化單頁應(yīng)用程序的開發(fā)号杠。不僅如此,Angular還具有內(nèi)置數(shù)據(jù)流,類型安全性和模塊化CLI的功能姨蟋,被認(rèn)為是成熟的Web框架屉凯。

5.什么是角度表達(dá)式?

角表達(dá)式是類似于JavaScript的代碼段眼溶,通常放在諸如{{expression}}之類的綁定中悠砚。這些表達(dá)式用于將應(yīng)用程序數(shù)據(jù)綁定到HTML

語法:{{expression}}

6. Angular中的模板是什么?

Angular中的模板是使用包含特定于Angular的元素和屬性的HTML編寫的堂飞。這些模板與來自模型和控制器的信息結(jié)合在一起灌旧,進(jìn)一步渲染這些信息以向用戶提供動(dòng)態(tài)視圖。

7. 在Angular中绰筛,什么是字符串插值枢泰?

Angular中的字符串插值是一種特殊的語法,它在雙花括號 {{}}中使用模板表達(dá)式來顯示組件數(shù)據(jù)铝噩。它也稱為小胡子語法衡蚂。JavaScript表達(dá)式包含在花括號中,由Angular執(zhí)行骏庸,然后將相對輸出嵌入HTML代碼中毛甲。這些表達(dá)式通常像表一樣進(jìn)行更新和注冊,作為摘要循環(huán)的一部分具被。

8. Angular中的Annotation和Decorator有什么區(qū)別玻募?

使用Reflect Metadata庫,角度注釋是類的“唯一”元數(shù)據(jù)集一姿。它們用于創(chuàng)建“注釋”數(shù)組七咧。另一方面,裝飾器是用于分離裝飾或修改類的設(shè)計(jì)模式叮叹,而無需實(shí)際更改原始源代碼坑雅。

9.您對Angular中的控制器了解多少?

控制器是JavaScript函數(shù)衬横,可為HTML UI提供數(shù)據(jù)和邏輯裹粤。顧名思義,它們控制數(shù)據(jù)如何從服務(wù)器流到HTML UI蜂林。

10. Angular的范圍是什么遥诉?

Angular中的范圍是一個(gè)引用應(yīng)用程序模型的對象。它是表達(dá)式的執(zhí)行上下文噪叙。范圍以模仿應(yīng)用程序DOM結(jié)構(gòu)的層次結(jié)構(gòu)排列矮锈。范圍可以監(jiān)視表達(dá)式并傳播事件。

11. Angular中的指令是什么睁蕾?

Angular的核心功能是指令苞笨,這些屬性使您可以編寫 特定于應(yīng)用程序的新HTML語法债朵。它們本質(zhì)上是在Angular編譯器在DOM中找到它們時(shí)執(zhí)行的函數(shù)。Angular指令分為三部分:

  • 組件指令

  • 結(jié)構(gòu)指令

  • 屬性指令

12.什么是數(shù)據(jù)綁定瀑凝?

在Angular中序芦,數(shù)據(jù)綁定是最強(qiáng)大,最重要的功能之一粤咪,可讓您定義組件與DOM(文檔對象模型)之間的通信谚中。它從根本上簡化了定義交互式應(yīng)用程序的過程,而不必?fù)?dān)心在視圖或模板與組件之間推送和提取數(shù)據(jù)寥枝。在Angular中宪塔,數(shù)據(jù)綁定有四種形式:

  • 字符串插值

  • 屬性綁定

  • 事件綁定

  • 雙向數(shù)據(jù)綁定

13.在Angular中使用過濾器的目的是什么?

Angular中的過濾器用于格式化表達(dá)式的值囊拜,以便將其顯示給用戶某筐。這些過濾器可以添加到模板,指令冠跷,控制器或服務(wù)中南誊。不僅如此,您還可以創(chuàng)建自己的自定義過濾器蔽莱。使用它們弟疆,您可以輕松地組織數(shù)據(jù)戚长,使數(shù)據(jù)僅在滿足特定條件時(shí)才顯示盗冷。通過使用豎線字符|,將過濾器添加到表達(dá)式中同廉,然后是過濾器仪糖。

14. Angular和jQuery有什么區(qū)別?

特征 jQuery Angular
DOM操作
RESTful API 沒有
動(dòng)畫支持
深層鏈接路由 沒有
表格驗(yàn)證 沒有
雙向數(shù)據(jù)綁定 沒有
AJAX / JSONP

15. Angular中的提供程序是什么迫肖?

提供程序是Angular中的可配置服務(wù)锅劝。這是對依賴關(guān)系注入系統(tǒng)的一條指令,它提供有關(guān)獲取依賴關(guān)系值的方式的信息蟆湖。它是一個(gè)具有<math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><annotation encoding="application/x-tex">get()方法的對象故爵,該方法被調(diào)用以創(chuàng)建服務(wù)的新實(shí)例。提供者還可以包含其他方法隅津,并使用</annotation></semantics></math>get()方法的對象诬垂,該方法被調(diào)用以創(chuàng)建服務(wù)的新實(shí)例。提供者還可以包含其他方法伦仍,并使用 provide來注冊新的提供者结窘。

中級–面試問題

16. Angular是否支持嵌套控制器?

是的充蓝,Angular確實(shí)支持嵌套控制器的概念隧枫。需要以層次方式定義嵌套控制器喉磁,以便在視圖中使用它。

17.如何區(qū)分Angular表達(dá)式和JavaScript表達(dá)式官脓?

Angular表達(dá)式 JavaScript表達(dá)式
1.它們可以包含文字协怒,運(yùn)算符和變量。 1.它們可以包含文字确买,運(yùn)算符和變量斤讥。
2.它們可以寫在HTML標(biāo)記內(nèi)。 2.它們不能寫在HTML標(biāo)記內(nèi)湾趾。
3.它們不支持條件芭商,循環(huán)和異常。 3.它們確實(shí)支持條件搀缠,循環(huán)和異常铛楣。
4.它們支持過濾器。 4.他們不支持過濾器艺普。

18.列出使用核心Angular功能在應(yīng)用程序模塊之間進(jìn)行通信的方式簸州。

以下是使用核心Angular功能在應(yīng)用程序模塊之間進(jìn)行通信的最通用方法:

  • 使用事件
  • 使用服務(wù)
  • 通過在$ rootScope上分配模型
  • 直接在控制器之間[ $ parent<math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><annotation encoding="application/x-tex">childHead歧譬, </annotation></semantics></math>childHead??岸浑,?? nextSibling等]
  • 直接在控制器之間[ ControllerAs或其他繼承形式]

19. service()和factory()有什么區(qū)別?

Angular中的service()是用于應(yīng)用程序業(yè)務(wù)層的函數(shù)瑰步。它作為構(gòu)造函數(shù)運(yùn)行矢洲,并在運(yùn)行時(shí)使用'new'關(guān)鍵字調(diào)用一次。而factory()是一個(gè)類似于service()的函數(shù)缩焦,但功能更強(qiáng)大读虏,更靈活。factory()是有助于創(chuàng)建對象的設(shè)計(jì)模式袁滥。

20. $ scope和Angular中的scope有什么區(qū)別盖桥?

  • Angular中的$ scope用于實(shí)現(xiàn)依賴項(xiàng)注入(DI)的概念,另一方面题翻,scope 用于指令鏈接揩徊。
  • <math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><annotation encoding="application/x-tex">scope是</annotation></semantics></math>??scope??是 scopeProvider提供的服務(wù),可以注入到控制器嵌赠,指令或其他服務(wù)中塑荒,而Scope可以是任何東西,例如函數(shù)參數(shù)名稱等猾普。

21.解釋范圍層次的概念嗎袜炕?

Angular中的<math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><annotation encoding="application/x-tex">scope對象被組織成一個(gè)層次結(jié)構(gòu),并且主要由視圖使用初家。它包含一個(gè)根范圍偎窘,該范圍可以進(jìn)一步包含稱為子范圍的范圍乌助。一個(gè)根作用域可以包含多個(gè)子作用域。在這里陌知,每個(gè)視圖都有自己的</annotation></semantics></math>scope對象被組織成一個(gè)層次結(jié)構(gòu)他托,并且主要由視圖使用。它包含一個(gè)根范圍仆葡,該范圍可以進(jìn)一步包含稱為子范圍的范圍赏参。一個(gè)根作用域可以包含多個(gè)子作用域。在這里沿盅,每個(gè)視圖都有自己的 scope把篓,因此由其視圖控制器設(shè)置的變量將對其他控制器隱藏。范圍層次結(jié)構(gòu)通常如下所示:

  • 根$ scope
    • 控制器1的$ scope

    • 控制器2的$ scope

    • ..

    • 控制器'n'的$ scope

22.什么是AOT腰涧?

AOT代表Angular-Ahead-of-Time編譯器韧掩。它用于在構(gòu)建過程中預(yù)編譯應(yīng)用程序組件及其模板。用AOT編譯的Angular應(yīng)用程序的啟動(dòng)時(shí)間更短窖铡。同樣疗锐,這些應(yīng)用程序的組件可以立即執(zhí)行,而無需任何客戶端編譯费彼。這些應(yīng)用程序中的模板作為代碼嵌入其組件中滑臊。它減少了下載Angular編譯器的需要,從而使您免于繁瑣的任務(wù)箍铲。AOT編譯器可以丟棄未使用的指令雇卷,這些指令會(huì)使用搖樹工具進(jìn)一步丟棄。

23.解釋jQLite虹钮。

jQlite也稱為 jQuery litejQuery的子集聋庵,包含其所有功能膘融。默認(rèn)情況下芙粱,它打包在Angular中。它幫助Angular以兼容的跨瀏覽器方式操作DOM氧映。jQLite基本上僅實(shí)現(xiàn)最常用的功能春畔,因此占用空間小。

24.解釋Angular中的摘要循環(huán)過程岛都?

Angular中的摘要周期是監(jiān)視監(jiān)視列表的過程律姨,以跟蹤監(jiān)視變量的值的變化。在每個(gè)摘要循環(huán)中臼疫,Angular都會(huì)比較范圍模型值的先前版本和新版本择份。通常,此過程是隱式觸發(fā)的烫堤,但是您也可以使用$ apply()手動(dòng)將其激活荣赶。

25.什么是Angular模塊凤价?

所有Angular應(yīng)用程序都是模塊化的,并遵循稱為NgModules的模塊化系統(tǒng)拔创。這些容器保存著專門用于應(yīng)用程序域利诺,工作流或一組緊密相關(guān)的功能的內(nèi)聚代碼塊。這些模塊通常包含組件剩燥,服務(wù)提供商和其他代碼文件慢逾,其范圍由包含的NgModule定義。有了模塊灭红,代碼變得更加可維護(hù)侣滩,可測試和易讀。同樣变擒,應(yīng)用程序的所有依賴關(guān)系通常僅在模塊中定義胜卤。

26.我們可以在哪種類型的組件上創(chuàng)建自定義指令?

Angular支持創(chuàng)建以下內(nèi)容的自定義指令:

  • 元素指令 -當(dāng)遇到匹配的元素時(shí)赁项,指令將激活葛躏。
  • 屬性 -當(dāng)遇到匹配的屬性時(shí),指令將激活悠菜。
  • CSS- 指令會(huì)在遇到匹配的CSS樣式時(shí)激活舰攒。
  • 注釋 -遇到匹配的注釋時(shí),指令將激活

27. Angular中有哪些不同類型的過濾器悔醋?

以下是Angular支持的各種過濾器:

  • 貨幣: 將數(shù)字格式化為貨幣格式摩窃。
  • 日期: 將日期格式化為指定的格式。
  • filter: 從數(shù)組中選擇項(xiàng)的子集芬骄。
  • json: 將對象格式化為JSON字符串猾愿。
  • limit:將數(shù)組/字符串限制為指定數(shù)量的元素/字符。
  • 小寫: 將字符串格式化為小寫账阻。
  • number: 將數(shù)字格式化為字符串蒂秘。
  • orderBy: 按表達(dá)式對數(shù)組排序
  • 大寫: 將字符串格式化為大寫淘太。

28.什么是Angular中的依賴注入姻僧?

依賴注入(DI)是一種軟件設(shè)計(jì)模式,其中對象作為依賴關(guān)系傳遞蒲牧,而不是在組件中對其進(jìn)行硬編碼撇贺。當(dāng)您嘗試將對象創(chuàng)建的邏輯與使用對象的邏輯分開時(shí),依賴注入的概念會(huì)派上用場冰抢∷伤唬“ config”操作使用DI,在加載模塊以檢索應(yīng)用程序的元素時(shí)挎扰,必須預(yù)先配置DI翠订。使用此功能缓升,用戶可以根據(jù)自己的要求更改依賴關(guān)系。

29.區(qū)分單向綁定和雙向數(shù)據(jù)綁定蕴轨。

單向數(shù)據(jù)綁定中港谊,無論何時(shí)更改數(shù)據(jù)模型,“視圖”或“ UI”部分都不會(huì)自動(dòng)更新橙弱。您需要手動(dòng)編寫自定義代碼歧寺,以便在每次視圖更改時(shí)對其進(jìn)行更新。

而在雙向數(shù)據(jù)綁定中棘脐,一旦更改數(shù)據(jù)模型斜筐,則隱式更新View或UI部分。與單向數(shù)據(jù)綁定不同蛀缝,這是一個(gè)同步過程顷链。

30.組件和指令的生命周期掛鉤是什么?

Angular組件具有離散的生命周期屈梁,其中包含從出生到死亡過渡的不同階段嗤练。為了更好地控制這些階段,我們可以使用以下方法將其連接:

  • 構(gòu)造函數(shù): 通過在類上調(diào)用new創(chuàng)建組件或指令時(shí)將調(diào)用它在讶。
  • ngOnChanges:每當(dāng)組件的任何輸入屬性發(fā)生更改或更新時(shí)煞抬,都將調(diào)用它。
  • ngOnInit:每次初始化給定組件時(shí)都會(huì)調(diào)用它构哺。在第一個(gè)ngOnChanges之后革答,該掛鉤在其生命周期中僅被調(diào)用一次。
  • ngDoCheck:每當(dāng)調(diào)用給定組件的更改檢測器時(shí)曙强,便會(huì)調(diào)用它残拐。這使您可以為提供的組件實(shí)現(xiàn)自己的變更檢測算法。
  • ngOnDestroy: 在Angular銷毀組件之前立即調(diào)用它碟嘴。您可以使用此鉤子來取消訂閱可觀察對象并分離事件處理程序溪食,以避免發(fā)生任何類型的內(nèi)存泄漏。

31.通過對Angular進(jìn)行臟檢查臀防,您了解什么眠菇?

在Angular中边败,摘要過程稱為臟檢查袱衷。之所以調(diào)用它,是因?yàn)樗鼟呙枵麄€(gè)范圍以進(jìn)行更改笑窜。換句話說致燥,它將所有新的作用域模型值與以前的作用域值進(jìn)行比較。由于所有監(jiān)視變量都包含在單個(gè)循環(huán)中排截,因此任何變量的任何更改/更新都將導(dǎo)致重新分配DOM中存在的其余監(jiān)視變量嫌蚤。被監(jiān)視的變量處于單個(gè)循環(huán)(摘要循環(huán))中辐益,任何變量的任何值更改都會(huì)在DOM中重新分配其他被監(jiān)視變量的值

32.區(qū)分DOM和BOM。

DOM 物料清單
1.代表文檔對象模型 1.代表瀏覽器對象模型
2.表示網(wǎng)頁的內(nèi)容 2.在網(wǎng)頁上方工作脱吱,并包含瀏覽器屬性
3.所有對象都以樹狀結(jié)構(gòu)排列智政,并且只能通過提供的API來操作和訪問文檔 3.所有全局JavaScript對象,變量和函數(shù)都隱式地成為window對象的成員
4.處理HTML文檔 4.訪問和操縱瀏覽器窗口
5. W3C推薦的標(biāo)準(zhǔn)規(guī)格 5.每個(gè)瀏覽器都有自己的實(shí)現(xiàn)

33.什么是Angular中的Transpiling箱蝠?

Angular中的編譯是指將源代碼從一種編程語言轉(zhuǎn)換為另一種編程語言的過程续捂。通常,在Angular中宦搬,此轉(zhuǎn)換是從TypeScript到JavaScript的牙瓢。這是一個(gè)隱式過程,在內(nèi)部發(fā)生。

34. How to perform animation in Angular?

為了在Angular應(yīng)用程序中執(zhí)行動(dòng)畫,您需要包括一個(gè)稱為Animate Library的特殊Angular庫竣况,然后將ngAnimate模塊引用到您的應(yīng)用程序中置侍,或者將ngAnimate作為依賴項(xiàng)添加到您的應(yīng)用程序模塊內(nèi)部。

35.什么是Angular中的包含转唉?

Angular中的包含可讓您將指令的原始子代轉(zhuǎn)移到新模板內(nèi)的特定位置。ng指令指示正在使用包含的最近父指令的已包含DOM的插入點(diǎn)。諸如ng-transcludeng-transclude-slot之類的屬性指令主要用于包含汉嗽。

36. Angular中的事件是什么?

Angular中的事件是特定的指令找蜜,可幫助自定義各種DOM事件的行為饼暑。以下列出了Angular支持的事件:

  • ng-click
  • ng-copy
  • ng-cut
  • ng-dblclick
  • ng-keydown
  • ng-keypress
  • ng-keyup
  • ng-mousedown
  • ng-mouseenter
  • ng-mouseleave
  • ng-mousemove
  • ng-mouseover
  • ng-mouseup
  • ng-blur

37.列出一些用于測試角度應(yīng)用的工具嗎?

  • Karma

  • Angular Mocks

  • Mocha

  • Browserify

  • Sion

38.如何在Angular中創(chuàng)建服務(wù)洗做?

在Angular中弓叛,服務(wù)是可替換對象,該對象使用依賴項(xiàng)注入連接在一起诚纸。通過將服務(wù)注冊到要在其中執(zhí)行的模塊中來創(chuàng)建服務(wù)撰筷。基本上畦徘,您可以通過三種方式創(chuàng)建角度服務(wù)毕籽。基本上井辆,它們是在Angular中創(chuàng)建服務(wù)的三種方式:

  • Factory
  • Service
  • Provider

39.什么是單例模式关筒,在Angular中可以找到它?

Angular中的Singleton模式是一種很棒的模式杯缺,它限制了一個(gè)類不能被多次使用蒸播。Angular中的Singleton模式主要在依賴項(xiàng)注入和服務(wù)中實(shí)現(xiàn)。因此,如果您不使用“ new Object()”而未將其設(shè)為單例袍榆,則將為同一對象分配兩個(gè)不同的存儲(chǔ)位置胀屿。而如果將該對象聲明為單例,則如果該對象已存在于內(nèi)存中包雀,則將簡單地將其重用宿崭。

40.您對Angular中的REST了解那些?

REST表示RE表象小號大老牛逼轉(zhuǎn)讓(BOT)才写。REST是適用于HTTP請求的API(應(yīng)用程序編程接口)樣式劳曹。在這種情況下,所請求的URL可以精確定位需要處理的數(shù)據(jù)琅摩。然后铁孵,HTTP方法將標(biāo)識(shí)需要對請求的數(shù)據(jù)執(zhí)行的特定操作。因此房资,遵循此方法的API被稱為RESTful API蜕劝。

41. Angular中的自舉是什么?

在Angular中進(jìn)行引導(dǎo)只是初始化或啟動(dòng)Angular應(yīng)用程序轰异。Angular支持自動(dòng)和手動(dòng)引導(dǎo)岖沛。

  • 自動(dòng)引導(dǎo)程序:這是通過將ng-app指令添加到應(yīng)用程序的根目錄來完成的,通常是在標(biāo)記或標(biāo)記上(如果您希望angular自動(dòng)引導(dǎo)應(yīng)用程序)搭独。當(dāng)Angular找到ng-app指令時(shí)婴削,它將加載與其關(guān)聯(lián)的模塊,然后編譯DOM牙肝。
  • 手動(dòng)引導(dǎo): 手動(dòng)引導(dǎo)為您提供了有關(guān)如何以及何時(shí)初始化Angular應(yīng)用程序的更多控制唉俗。如果您想在Angular喚醒并編譯頁面之前執(zhí)行任何其他操作,這將非常有用配椭。

42.在Angular中鏈接和編譯有什么區(qū)別虫溜?

  • 編譯功能用于模板DOM操縱并收集所有指令。
  • 鏈接功能用于注冊DOM偵聽器以及實(shí)例DOM操作股缸,并在克隆模板后執(zhí)行衡楞。

43. 您對Angular中的常數(shù)有什么了解?

在Angular中敦姻,常量類似于用于定義全局?jǐn)?shù)據(jù)的服務(wù)瘾境。常量使用關(guān)鍵字“ constant”聲明。它們是使用恒定依賴性創(chuàng)建的镰惦,可以注入控制器或服務(wù)中的任何位置迷守。

44. Angular的提供者,服務(wù)和工廠之間有什么區(qū)別陨献?

提供者 服務(wù)
提供程序是一種可以將應(yīng)用程序的一部分傳遞到app.config中的方法 服務(wù)是一種用于創(chuàng)建以'new'關(guān)鍵字實(shí)例化的服務(wù)的方法盒犹。 這是用于創(chuàng)建和配置服務(wù)的方法。在這里眨业,您可以創(chuàng)建一個(gè)對象急膀,向其中添加屬性,然后返回相同的對象龄捡,并將工廠方法傳遞到控制器中卓嫂。

45. 什么是Angular Global API?

Angular Global API是用于執(zhí)行各種常見任務(wù)的全局JavaScript函數(shù)的組合聘殖,例如:

  • 比較對象
  • 迭代對象
  • 轉(zhuǎn)換數(shù)據(jù)

有一些常見的Angular Global API函數(shù)晨雳,例如:

  • 有角的。小寫:將字符串轉(zhuǎn)換為小寫字符串奸腺。
  • 有角的餐禁。大寫: 將字符串轉(zhuǎn)換為大寫字符串。
  • 有角的突照。isString: 如果當(dāng)前引用是字符串帮非,則返回true。
  • 有角的讹蘑。isNumber:如果當(dāng)前引用為數(shù)字末盔,則返回true。

高級水平–面試問題

46.在Angular中座慰,描述如何設(shè)置陨舱,獲取和清除cookie?

為了在Angular中使用cookie版仔,您需要包含一個(gè)名為ngCookies angular-cookies.js的模塊游盲。

設(shè)置Cookies –為了以鍵值格式設(shè)置Cookies,使用“ put”方法蛮粮。

cookie.set("nameOfCookie","cookieValue");

獲取Cookie –為了獲取Cookie背桐,使用了“ get”方法。

cookie.get("nameOfCookie");

清除Cookie –使用“刪除”方法刪除Cookie蝉揍。

cookie.delete("nameOfCookie");

47. 如果您的數(shù)據(jù)模型是在"區(qū)域"之外更新的链峭,請說明該過程,您將如何查看視圖又沾?

您可以使用以下任意一種來更新視圖:

  • ApplicationRef.prototype.tick():它將對整個(gè)組件樹執(zhí)行更改檢測弊仪。

  • NgZone.prototype.run():它將對整個(gè)組件樹執(zhí)行更改檢測。在這里杖刷,引擎蓋下的run()將調(diào)用tick本身励饵,然后參數(shù)將在tick之前獲取函數(shù)并執(zhí)行它。

  • ChangeDetectorRef.prototype.detectChanges():它將在當(dāng)前組件及其子組件上啟動(dòng)更改檢測滑燃。

48.在Angular中解釋ng-app指令役听。

ng-app指令用于定義Angular應(yīng)用程序,使我們可以在Angular應(yīng)用程序中使用自動(dòng)引導(dǎo)。它表示Angular應(yīng)用程序的根元素典予,通常在或標(biāo)簽附近聲明甜滨。在HTML文檔中可以定義任何數(shù)量的ng-app指令,但是只有一個(gè)Angular應(yīng)用程序可以被隱式地正式引導(dǎo)瘤袖。其余應(yīng)用程序必須手動(dòng)引導(dǎo)衣摩。

<div ng-app=“myApp” ng-controller=“myCtrl”>
First Name :
<input type=“text” ng-model=“firstName”>
<br />
Last Name :
<input type=“text” ng-model=“l(fā)astName”>
<br>
Full Name: {{firstName + ” ” + lastName }}
</div>

49.從準(zhǔn)備好的TemplateRef插入嵌入視圖的過程是什么?

@Component({
    selector: 'app-root',
    template: `
        <ng-template #template let-name='fromContext'><div>{{name}}</ng-template>
    `
})
export class AppComponent implements AfterViewChecked {
    @ViewChild('template', { read: TemplateRef }) _template: TemplateRef<any>;
    constructor() { }

    ngAfterViewChecked() {
        this.vc.createEmbeddedView(this._template, {fromContext: 'John'});
    }
}

50.如何僅通過單擊角形按鈕即可隱藏HTML元素捂敌?

可以使用ng-hide指令與控制器一起輕松隱藏HTML元素艾扮,以在單擊按鈕時(shí)隱藏HTML元素。

View

<div ng-controller ="MyController">
  <button ng-click ="hide()">歡迎關(guān)注全棧程序員社區(qū)公眾號</ button>
  <p ng-hide ="isHide">歡迎關(guān)注Java架構(gòu)師社區(qū)公眾號占婉!</ p>
</ div>

Controller

controller: function() {
    this.isHide = false;
    this.hide = function(){
        this.isHide = true; 
    }; 
}

本文轉(zhuǎn)載自:https://www.php.cn/js-tutorial-480383.html

更多編程相關(guān)知識(shí)泡嘴,請?jiān)L問:編程入門!逆济!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末酌予,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子纹腌,更是在濱河造成了極大的恐慌霎终,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,744評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件升薯,死亡現(xiàn)場離奇詭異莱褒,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)涎劈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,505評論 3 392
  • 文/潘曉璐 我一進(jìn)店門广凸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蛛枚,你說我怎么就攤上這事谅海。” “怎么了蹦浦?”我有些...
    開封第一講書人閱讀 163,105評論 0 353
  • 文/不壞的土叔 我叫張陵扭吁,是天一觀的道長。 經(jīng)常有香客問我盲镶,道長侥袜,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,242評論 1 292
  • 正文 為了忘掉前任溉贿,我火速辦了婚禮枫吧,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘宇色。我一直安慰自己九杂,他們只是感情好颁湖,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,269評論 6 389
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著例隆,像睡著了一般甥捺。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上裳擎,一...
    開封第一講書人閱讀 51,215評論 1 299
  • 那天涎永,我揣著相機(jī)與錄音思币,去河邊找鬼鹿响。 笑死,一個(gè)胖子當(dāng)著我的面吹牛谷饿,可吹牛的內(nèi)容都是我干的惶我。 我是一名探鬼主播,決...
    沈念sama閱讀 40,096評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼博投,長吁一口氣:“原來是場噩夢啊……” “哼绸贡!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起毅哗,我...
    開封第一講書人閱讀 38,939評論 0 274
  • 序言:老撾萬榮一對情侶失蹤听怕,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后虑绵,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體尿瞭,經(jīng)...
    沈念sama閱讀 45,354評論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,573評論 2 333
  • 正文 我和宋清朗相戀三年翅睛,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了声搁。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,745評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡捕发,死狀恐怖疏旨,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情扎酷,我是刑警寧澤檐涝,帶...
    沈念sama閱讀 35,448評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站法挨,受9級特大地震影響谁榜,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜坷剧,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,048評論 3 327
  • 文/蒙蒙 一惰爬、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧惫企,春花似錦撕瞧、人聲如沸陵叽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,683評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽巩掺。三九已至,卻和暖如春页畦,著一層夾襖步出監(jiān)牢的瞬間胖替,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,838評論 1 269
  • 我被黑心中介騙來泰國打工豫缨, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留独令,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,776評論 2 369
  • 正文 我出身青樓好芭,卻偏偏與公主長得像燃箭,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子舍败,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,652評論 2 354

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

  • 我們整理了一份主要的Angular面試問題清單招狸,分為三部分: 角度面試問題–初學(xué)者水平 角度面試問題–中級 角度面...
    Java架構(gòu)師必看閱讀 404評論 0 3
  • 一:什么是閉包?閉包的用處邻薯? (1)閉包就是能夠讀取其他函數(shù)內(nèi)部變量的函數(shù)裙戏。在本質(zhì)上,閉包就 是將函數(shù)內(nèi)部和函數(shù)外...
    xuguibin閱讀 9,598評論 1 52
  • 一:什么是閉包厕诡?閉包的用處累榜? (1)閉包就是能夠讀取其他函數(shù)內(nèi)部變量的函數(shù)。在本質(zhì)上木人,閉包就 是將函數(shù)內(nèi)部和函數(shù)外...
    彩云_789d閱讀 963評論 0 1
  • 2018web前端最新面試題總結(jié) 一信柿、Html/Css基礎(chǔ)模塊 基礎(chǔ)部分 什么是HTML?答:? HTML并不是...
    duans_閱讀 4,667評論 3 27
  • Angular面試題 一醒第、ng-show/ng-hide與ng-if的區(qū)別渔嚷? 第一點(diǎn)區(qū)別是,ng-if在后面表達(dá)式...
    w_zhuan閱讀 5,527評論 0 26