Angular的面试题

1.Aangular中组件之间通信的方式

答案:Props down

1.调用子组件,通过自定义属性传值

2.子组件内部通过Input来接收属性的值

Events up

1.在父组件中定义一个有参数的方法

2.调用子组件时,绑定自定义事件和上一步方法

3.子组件内部通过Output和EventEmitter来触发事件并传值.

2.Angualr的八大组成部分并简单描述

答案:model是Angular开发中的基本单位,是一个容器,可以包含组件、指令、管道等

Components是可被反复使用的带有特定功能的视图

Templates 是经过指令和管道、组件等增强过的html

Bindings 结合着事件绑定 属性绑定 双向数据绑定等扩展html的功能

Directives分为结构性和属性型指令还有其他模块中比如路由模块中的指令等,

主要是增强html.

Pipes 可以对数据做一个筛选、过滤、格式化从而得到目的数据

Service 将组件、应用中的可共用的部分,比如数据或者方法等 封装成服务以方便服用

DependencyInjection 依赖注入

3.Angular中常见的生命周期的钩子函数?

ngOnChanges:当Angular设置其接收当前和上一个对象值的数据绑定属性时响应。

ngOnInit:在第一个ngOnChange触发器之后,初始化组件/指令。这是最常用的方法,

用于从后端服务检索模板的数据。

ngDoCheck:检测并在Angular上下文发生变化时执行。

每次更改检测运行时,会被调用。

ngOnDestroy:在Angular销毁指令/组件之前消除。取消订阅可观察的对象并脱离

事件处理程序,以避免内存泄漏。

组件特定的hooks:

ngAfterContentInit:组件内容已初始化完成

ngAfterContentChecked:在Angular检查投影到其视图中的绑定的外部内容之后。

ngAfterViewInit:Angular创建组件的视图后。

ngAfterViewChecked:在Angular检查组件视图的绑定之后

4.Angular中路由的工作原理

Angular应用程序具有路由器服务的单个实例,并且每当URL改变时,相应的路由就与路由配置数组

进行匹配。在成功匹配时,它会应用重定向,此时路由器会构建ActivatedRoute对象的树,

同时包含路由器的当前状态。在重定向之前,路由器将通过运行保护(CanActivate)

来检查是否允许新的状态。Route Guard只是路由器运行来检查路由授权的接口方法。

保护运行后,它将解析路由数据并通过将所需的组件实例化到<router-outlet></router-outlet>

来激活路由器状态。

5.解释rjx在Angular中的使用场景

Rxjs是在微软所提供的一种的异步处理数据的方式,在Angular中处理网络通信时用到了。

创建一个Observable并subsribe

比如:this.http.get('').subscribe((data)=>{ })