前端面试题angular

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

答案:
Props down
1、调用子组件时 通过自定义属性传值
2、子组件内部通过Input来接受属性的值
Events up

  1. 在父组件中定义一个有参数的方法
  2. 调用子组件时,绑定自定义事件和上一步的方法
  3. 子组件内部通过Output和EventEmitter来触发事件并传值

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

答案:
Module 是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>中来激活路由器状态。

5、解释rxjs在Angular中的使用场景

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

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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在前端面试中,Angular是一个常见的话题。在2023前端面试题中,可能会有以下几个与Angular相关的问题: 1. 解释一下$rootScope以及与$scope的区别。 $rootScope是Angular中的根作用域,它是所有$scope的父作用域。在Angular解析ng-app并创建$rootScope后,每个带有ng-controller的元素都会创建一个新的$scope对象实例。$rootScope是所有这些$scope实例的共同父作用域。区别在于$rootScope是全局的,而$scope是局部的,每个$scope都有自己的作用域链。 2. 什么是单元测试?如何在Angular中进行单元测试? 单元测试是Angular中测试组件和服务功能是否符合预期的一种机制。它可以确保代码的正确性,并避免在代码更改后引入错误。在Angular中,可以使用Jasmine测试框架和Karma测试运行器来编写和运行单元测试。通过编写测试用例,对组件和服务的各种功能进行测试,包括输入输出、事件触发、状态变更等,以确保其正常工作。 3. 对于大型Angular项目,如何组织代码和进行团队协作? 在Angular 1.x中,可能没有一个很好的解决方案来组织代码和进行团队协作。因此,在前期进行统一规划和约定非常重要。可以制定一套规范和约定,包括模块化设计、组件化开发、命名约定、文件目录结构等,并确保每个开发人员按照约定进行开发,避免代码冲突和混乱。 综上所述,这些是涉及到Angular的一些面试题,涵盖了$rootScope和$scope的区别、单元测试以及代码组织和团队协作等方面的内容。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [前端面试题angular)](https://blog.csdn.net/qq_40920553/article/details/90259005)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [30道Angular经典面试题,背就完事了](https://blog.csdn.net/lin5165352/article/details/130106247)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值