Skip to content
错题本 0已完全掌握 0正在读取本地学习状态…
先想一想,再看答案

Angular 与 AngularJS ​

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

展开答案与追问

资料说明: PDF 历史参考答案,保留原文供对照复习;其中旧版 API、兼容性及性能结论不代表当前推荐实践。

Props down

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

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

Events up

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

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

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

2. Angular 的核心概念及 NgModule 与 standalone 如何理解? ​

展开答案与追问

参考答案(校订):

原题采用早期 NgModule 风格介绍 Angular:组件、模板、绑定、指令、管道、服务、依赖注入与模块。应写为 NgModule,而不是 model。现代 Angular 还支持 standalone 组件,不能把 NgModule 说成所有新项目的必备组织方式;也不要与 AngularJS 的 module 和 scope 混淆。

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

展开答案与追问

资料说明: PDF 历史参考答案,保留原文供对照复习;其中旧版 API、兼容性及性能结论不代表当前推荐实践。

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

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

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

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

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

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

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

组件特定的hooks:

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

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

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

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

4. Angular 中路由的工作原理 ​

展开答案与追问

资料说明: PDF 历史参考答案,保留原文供对照复习;其中旧版 API、兼容性及性能结论不代表当前推荐实践。

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

由配置数组

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

树,

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

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

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

outlet></router-outlet>

来激活路由器状态。

5. RxJS 在 Angular 中有哪些使用场景? ​

展开答案与追问

参考答案(校订):

RxJS 是响应式流处理库,Observable 可表示异步数据流。Angular 常见用途包括 HttpClient 请求、表单值变化、事件流与组合取消;可以用 switchMap 避免旧请求覆盖新结果,并用 async pipe 或 takeUntilDestroyed 等机制管理订阅生命周期。RxJS 不是微软专属的网络 API。

6. AngularJS 双向绑定原理 ​

展开答案与追问

资料说明: PDF 历史参考答案,保留原文供对照复习;其中旧版 API、兼容性及性能结论不代表当前推荐实践。

Angular将双向绑定转换为一堆watch表达式,然后递归这些表达式检查是否发生过变

化,如果变了则执行相应的watcher函数(指view上的指令,如ng-bind,ng-show

等或是{{}})。等到model中的值不再发生变化,也就不会再有watcher被触发,一

个完整的digest循环就完成了。

Angular中在view上声明的事件指令,如:ng-click、ng-change等,会将浏览器的

事件转发给$scope上相应的model的响应函数。等待相应函数改变model,紧接着触

发脏检查机制刷新view。

watch表达式:可以是一个函数、可以是$scope上的一个属性名,也可以是一个字符

串形式的表达式。$watch函数所监听的对象叫做watch表达式。watcher函数:指在

view上的指令(ngBind,ngShow、ngHide等)以及{{}}表达式,他们所注册的函数。

每一个watcher对象都包括:监听函数,上次变化的值,获取监听表达式的方法以及

监听表达式,最后还包括是否需要使用深度对比(angular.equals())

先尝试回答,再展开答案。每天进步一点。