首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【17】进大厂必须掌握的面试题-50个Angular面试

Angular的Annotation和Decorator有什么区别? 使用Reflect Metadata库,角度注释是类的“唯一”元数据集。它们用于创建“注释”数组。...Angular数据绑定是最强大,最重要的功能之一,可让您定义组件与DOM(文档对象模型)之间的通信。它从根本上简化了定义交互式应用程序的过程,而不必担心视图或模板与组件之间推送和提取数据。...Angular数据绑定有四种形式: 字符串插值 属性绑定 事件绑定 双向数据绑定 13.Angular中使用过滤器的目的是什么?...Angular是否支持嵌套控制器? 是的,Angular确实支持嵌套控制器的概念。需要以层次方式定义嵌套控制器,以便在视图中使用它。 17.如何区分Angular表达式和JavaScript表达式?...filter: 从数组中选择项的子集。 json: 将对象格式化为JSON字符串。 limit:将数组/字符串限制为指定数量的元素/字符。 小写: 将字符串格式化为小写。

41.2K51

怎么组织 Angular 项目 |Top 5 技巧

构建 Angular 应用程序并对其扩展是一种持续性的练习。不断的练习,使用单一职责原则组织你的项目,将使你的应用程序干净,可读和可维护。 2....绑定代码到模块 Angular 的 modules 是单一原则的实施。 Angular ,每一个模块代表一个分离的和独立的功能。...简化导入的 Angular 最佳实践 嵌套文件结构本质上比将所有代码文件都放在一个目录的平面文件系统更加容易导航。 然而,随着项目的方法,项目的文件结构可能变得相当复杂。...解决这个问题的,我们可以 tsconfig.json 文件配置路径的别名。在这个文件,有个名为 compilerOptions 的数组。这个是你应用程序配置路径别名。...当代码编译后,数组定义的路径别名会替换成真实的路径。每个路径的值是一个包含实际路径和别名的键值对对象。 构建 Angular 应用程序并对其进行扩展是一项持续的练习。

1.3K10
您找到你想要的搜索结果了吗?
是的
没有找到

Angular的12个经典问题,看看你能答对几个?(文末附带Angular测试)

Angular应用程序具有路由器服务的单个实例,并且每当URL改变时,相应的路由就与路由配置数组进行匹配。...延迟加载通过将代码拆分成多个包并以按需加载的方式,来加速应用程序初始加载过程。 每个Angular应用程序必须有一个叫AppModule的主模块。...loadChildren会从根文件夹获取绝对路径。RouterModule.forRoot()会获取routes数组并配置路由器。 子模块中导入模块特定路由。...Angular 2应用,我们应该注意哪些安全威胁? 就像任何其他客户端或Web应用程序一样,Angular 2应用程序也应该遵循一些基本准则来减轻安全风险。...感兴趣的同学,可以尝试构建一个“答题系统应用程序”,具体要求为: 有三个组成部分:测试视图、审查结果和显示结果 接受json格式的提问问题,你可以以预定义的格式从服务器发送jsonAngular2测试应用需要在客户端呈现出答题界面

17.3K80

Angular性能优化实践——巧用第三方组件和懒加载技术

为了帮助开发者深入理解和使用Angular,本文将以我司客户中最为典型的业务场景——在线表格编辑为例,演示如何借助懒加载技术,基于 Angular的框架实现在线导入导出Excel以及数据在线填报的功能...下载SpreadJS Npm包:npm install @grapecity/spread-sheets;npm install @grapecity/spread-sheets-angular angular.json...配置SpreadJS CS Angular应用程序中使用 SpreadJS 使用Angular CLI构建和运行项目 完成上述环境搭建,便可将表格编辑器组件集成到 Angular 项目中,实现在线导入导出...@NgModule的imports数组列出了LazyWebExcelRoutingModule,让LazyWebExcelModule可以访问他自己的路由模块。...你可以多个模块中使用 forChild()。 以上就是 SpreadJS结合Angular框架,并借助懒加载技术优化在线Excel项目的主要过程。

4K20

一个Angular 5教程:一步一步指导实现你的第一个Angular 5应用程序

在这个Angular 5教程,我们将从头开始构建一个笔记应用程序。如果您一直等待学习Angular 5,本教程适合您。 ? 应用程序的最终源代码可以在这里找到。...但在基本层面上,请考虑如下这些方法:创建组件之后立即调用构造函数,传递给它的数据准备好并填充之前很久才调用该构造函数,而ngOnInit仅在第一个更改周期数据,因此您可以访问组件输入。...这里有一个有趣的小技巧:Angular,双向数据绑定已经不再适合我们了。但这并不意味着我们失去了访问这种行为的机会。...为了达到这个目的,我们需要在应用程序配置添加一件东西; package.json,我们需要更换start命令为我们的项目: [...] "scripts": { [...]...这给了我们最终的关键嵌套重复(作为一个模块和一个数组称为cards)。

42.5K10

RxJS 处理多个Http请求

有时候进入某个页面时,我们需要从多个 API 获取数据然后进行页面显示。管理多个异步数据请求会比较困难,但我们可以借助 Angular Http 服务和 RxJS 库提供的功能来实现上述的功能。...处理多个请求有多种方式,使用串行或并行的方式。 基础知识 mergeMap mergeMap 操作符用于从内部的 Observable 对象获取值,然后返回给父级流对象。...我们通过依赖注入方式注入 HttpClient 服务,然后 ngOnInit() 方法调用 http 对象的 get() 方法来获取数据。...Map 和 Subscribe 有些时候,当我们发送下一个请求时,需要依赖于上一个请求的数据。即我们需要在上一个请求的回调函数获取相应数据,然后发起另一个 HTTP 请求。...我们通过 mergeMap 操作符,解决了嵌套订阅的问题。

5.7K20

Angular 6正式版发布,都有哪些新功能

Angular 5发布半年之后,Angular 6昨天正式发布,那么在这个版本有哪些新功能呢?新版本重点关注工具链以及工具链 Angular 的运行速度问题。...应用程序启动 Angular 组件,方法是将它们注册为 Custom Elements,目前已被广泛用于 angular.io 内容管理系统,它嵌入 HTML,可动态启动系统功能。...Angular Material + CDK 组件 最值得一提的是用于显示分层数据的树形控件,遵循数据表组件的模式,CDK 包含树的核心指令,而 Angular Material 则提供与顶层的 Material...CLI v6 现已支持多项目工作区,如多个应用程序或库,CLI 项目用 angular.json 取代 angular-cli.json 构建和配置项目。...关于更多的信息可以访问官方关于Angular 6的发布信息。

4.2K20

Node.js-具有示例API的基于角色的授权教程

4通过从项目根文件夹的命令行运行npm start来启动应用程序,这将启动显示Angular示例应用程序的浏览器,并且应与已经运行的基于Node.js基于角色的授权API挂钩。...我示例对用户数组进行了硬编码,以使其始终专注于身份验证和基于角色的授权,但是在生产应用程序,建议使用哈希密码将用户记录存储在数据。...我发布了另一个稍有不同的示例(包括注册,但不包括基于角色的授权),该示例将数据存储MongoDB,如果您有兴趣查看数据的配置方式,可以NodeJS + MongoDB上进行验证-用于身份验证,注册和验证的简单...不使用授权中间件的路由是可公开访问的。 getById路由route函数包含一些额外的自定义授权逻辑。 它允许管理员用户访问任何用户记录,但仅允许普通用户访问自己的记录。...应用程序配置文件包含api的配置数据

5.7K10

Angular系列教程-第五节

bootstrap —— 根组件,Angular 创建它并插入 index.html 宿主页面。 该模块的 declarations 数组告诉 Angular 哪些组件属于该模块。...一个模块的所有可声明对象都必须放在 declarations 数组。 可声明对象必须只能属于一个模块,如果同一个类被声明多个模块,编译器就会报错。...依赖注入 Angular ,要把一个类定义为服务,就要用 @Injectable() 装饰器来提供元数据,以便让 Angular 可以把它作为依赖注入到组件。...3.路由 在用户使用应用程序时,Angular 的路由器能让用户从一个视图导航到另一个视图。...angular.json 为工作区的所有项目指定 CLI 的默认配置,包括 CLI 要用到的构建、启动开发服务器和测试工具的配置项。

2.9K20

8分钟为你详解React、Angular、Vue三大框架

嵌套元素 同一层次上的多个元素需要被包裹在一个容器元素,如上图中的元素。 属性 JSX提供了一系列的元素属性,旨在对应HTML提供的属性。...Hooks是让开发者从函数组 "钩入"React状态和生命周期特性的函数。它们使代码具有更强的可读性且更易理解。Hooks并不在类组件内工作,它的终极目标是React消除类组件的存在。...Hooks规则 Hooks也有一些规则,使用Hooks之前必须遵循这些规则: 钩子只能在顶层调用(不能在循环或if语句中调用)。 钩子只能在React函数组调用,不能在普通函数或类组件调用。...这使得开发者可以选择任何一个库来完成诸如执行网络访问或本地数据存储等任务。这种情况也就决定了React技术创建网页应用时标准无法统一。 ?...支持Angular Universal,可以服务器上运行Angular应用程序。 版本9 Angular 9已于2020年2月6日发布。第9版默认情况下使用Ivy编译器。

22.1K20

使用 EF Core 的 PostgreSQL 的 JSONB

本文着眼于 JSONB PostgreSQL 的作用,以及它如何与 Entity Framework Core 连接,帮助开发人员构建严重依赖数据的复杂应用程序。...它与 PostgreSQL 的传统 json 数据类型不同,因为它以分解的二进制格式存储数据。这种格式允许高效的数据处理,因为它消除了每次访问 JSON 数据时重新解析 JSON 数据的需要。...JSONB 基元和操作 选择数据 '->' 和 '->>' 运算符用于访问 JSONB 列的对象字段和数组元素。“->”运算符返回 JSONB 对象/数组,而“->>”返回文本。...CREATE INDEX idx_jsonb_gin ON products USING GIN (details); 使用嵌套 JSON 数据 对于嵌套数据,“#>”和“#>>”运算符可以嵌套的...'warranty'; 按嵌套属性值筛选 筛选 jsonb 列嵌套对象包含指定值的记录。

15910

【前端架构】从 JQuery 到 React、Vue、Angular——前端框架的演变及其差异

这是前端面试必然会问到的问题 前端开发多年来一直不断改进。从简单的静态页面到现在复杂的单页面应用程序,我们的工具变得越来越强大。现在,三大前端框架统治着前端开发,那么你知道这三个框架的区别吗?...但是XML中有很多不必要的标签,浪费了服务器带宽,所以JSON格式的数据占据了主流位置。 DOM API && jQuery 过去开发网页时,主要是通过浏览器提供的DOM API来操作DOM。...每条可能修改数据的语句执行完毕后,Angular 都会对比前后的数据,判断是否有数据变化。 Vue 直接使用 JavaScript 的原生特性来监控数据变化。...但是如果我们用链表来记录访问路径,就可以把树的递归遍历变成数组的循环遍历。循环遍历数组时,可以根据时间片进行分段,这样虚拟dom的生成就不会再阻塞页面渲染了。...具体来说,我们可以使用父组件包装子组件,父组件执行一些逻辑,然后渲染子组件。

2.1K20

Angular 从入坑到挖坑 - 表单控件概览

,并添加到根模块的 imports 数组 import { BrowserModule } from '@angular/platform-browser'; import { NgModule }...4.3.2、通过 FomGroup 组合多个控件 一个表单不可能只有一个控件,通过组件构造 FormGroup 实例来完成对于多个表单控件的统一管理 使用 FormGroup 时,同样组件定义一个属性用来承载控件组实例...当构建复杂表单时,可以 FormGroup 通过嵌套 FormGroup 使表单的结构更合理 import { Component, OnInit } from '@angular/core';...同模板驱动表单的数据有效性验证相同,响应式表单同样可以使用原生的表单验证器,设定规则时,需要将模板控件名对应的数据值的第二个参数改为验证的规则 响应式表单数据源来源于组件类,因此应该在组件类中直接把验证器函数添加到对应的...4.4.2、跨字段的交叉验证 有时候需要针对表单多个控件数据进行交叉验证,此时就需要针对整个 FormGroup 进行验证。

18.9K20

读书笔记“使用AngularJs开发下一代web应用”

P29 有两种主要的方法可以把控制器关联到DOM节点上,第一种是模板通过ng-controller 属性来声明,另一种是通过路由把它绑定到一个动态加载的DOM 模板片段上,这个模板叫做视图。...P29 控制器嵌套 P37 服务可以在任何控制器之间共享。因此,当你需要在多个控制器之间进行交互和共享状态时,服务是很好的机制。...,默认运行在9876端口,e2e端对端测试是通过Angular场景执行器执行的。...未来某一时刻(主要是异步调用)会从服务器端返回或者被填充属性。 P85 Angular自动检测,如果发现引入了完整的jQquery库, 它就不会使用自己的jQlite实现。...P116 JSON数组攻击

71720

【Hybrid开发高级系列】AngularJS(一)——基础专题

ng-init -该指令初始化应用程序数据。 ng-model -此指令定义的模型,该模型是变量AngularJS使用。 ng-repeat -该指令将重复集合的每个项目的HTML元素。...关于module函数可以传递3个参数,它们分别为:     name:模块定义的名称,它应该是一个唯一的必选参数,它会在后边被其他模块注入或者是ngAPP指令声明应用程序主模块;     requires...configFn: 模块的启动配置函数,angular config阶段会调用该函数,对模块的组件进行实例化对象实例之前的特定配置,如我们常见的对$routeProvider配置应用程序的路由信息。...应用程序,对module的声明应该有且只有一次;对于获取module,则可以有多次。...2.4 模型和控制器         PhoneListCtrl控制器里面初始化了数据模型(这里只不过是一个包含了数组的函数,数组存储的对象是手机数据列表): app/js/controller.js

43180

Ionic用于构建跨平台移动应用程序的开源框架

​Ionic框架和小程序容器技术可以结合使用,以小程序平台上构建跨平台移动应用程序。...通过将Ionic应用嵌套在小程序的WebView或利用小程序桥接插件实现与小程序环境的通信,开发者可以小程序平台上利用Ionic框架提供的跨平台开发能力和丰富的用户界面组件。...Ionic基于Angular框架,利用Angular的能力来构建复杂的应用逻辑和数据绑定。它还使用Cordova或Capacitor等插件来访问设备功能,如相机、传感器和文件系统等。...开发效率:Ionic框架使用Angular作为基础,借助Angular的能力来构建复杂的应用逻辑和数据绑定。...这使得开发者可以利用设备的原生功能,增强应用程序的功能性,并提供更好的用户体验。 结合Ionic和小程序容器技术时,开发者需要注意平台限制和差异,确保应用程序小程序环境的兼容性和稳定性。

28210

Angular实战之使用NG-ZORRO创建一个企业级后台框架(进阶篇)

钩子 用途及时机 ngOnChanges() 当 Angular(重新)设置数据绑定输入属性时响应。...ngOnInit() Angular 第一次显示数据绑定和设置指令/组件的输入属性之后,初始化指令/组件。 第一轮 ngOnChanges() 完成之后调用,只调用一次。...它允许你做以下这些事情: 创建一个新的 Angular 应用程序 运行带有 LiveReload 支持的开发服务器,以便在开发过程预览应用程序 添加功能到现有的 Angular 应用程序 运行应用程序的单元测试.../pages目录下创建我们的博客项目模块(带路由配置模块):   我们开发一个项目可能会存在多个模块,比如说一个商城。...修改项目默认调转页面,Angular应用多模块路由配置: 找到app-routing.module.ts文件,【routes】对象声明新模块路由,以及项目默认调转页面地址修改。 ?

3.9K20

如何在 Windows 上安装 AngularAngular CLI、Node.js 和构建工具指南

本例,Node.js 用于构建应用程序的后端部分,并且可以替换为您想要的任何服务器端技术,例如 PHP、Ruby 或 Python。...有很多方法可以做到这一点,例如: 使用 NVM(Node版本管理器)系统安装和使用多个版本的node 使用对应的操作系统的官方包管理器 从官方网站安装它。 让我们保持简单并使用官方网站。...只需访问下载页面并获取 Windows 的二进制文件,然后按照安装向导操作即可。...doc (d): 浏览器打开 Angular 官方文档 (angular.io),并搜索给定的关键字。...的配置文件 tslint.json:TSlint(静态分析工具)的配置文件 为您的项目服务 Angular CLI 提供了一个完整的工具链,用于本地计算机上开发前端应用程序

16200
领券