web前端angular⾯试题集锦
angular⽤管道转换数据
Angular 为典型的数据转换提供了内置的管道,包括国际化的转换(i18n),它使⽤本地化信息来格式化数据。数据格式化常⽤的内置管道如下:
:根据本地环境中的规则格式化⽇期值。
: Formats a date value according to locale rules.
:把⽂本全部转换成⼤写。
:把⽂本全部转换成⼩写。
: Transforms text to all lower case.
:把数字转换成货币字符串,根据本地环境中的规则进⾏格式化。
:把数字转换成带⼩数点的字符串,根据本地环境中的规则进⾏格式化。
:把数字转换成百分⽐字符串,根据本地环境中的规则进⾏格式化angualrphysics journals
angular路由配置:
路由配置在 ute.ts 中
路由跳转⽅式
[routerLink]="['/devicepay']" [queryParams]="{id:key}" //路由跳转传参
//获取值
console.log(res)
})
{ path: 'devicepay/:id',component:DevicepayComponent}, 动态传参
路由跳转 uter.navigate(['/news'],navigationExtras);
NgModule 是⼀个带有 @() 装饰器的类。@() 装饰器是⼀个函数,它接受⼀个元数据对象,该对象的属性⽤来描述这个模块。
overburdens是什么意思@NgModule({
imports: [ BrowserModule ],导⼊表) —— 那些导出了本模块中的组件模板所需的类的其它模块
providers: [ Logger ], 本模块向全局服务中贡献的那些服务的创建器。
declarations: [ AppComponent ], 主要应⽤导⼊组件那些属于本 NgModule 的组件、指令、管道。
exports: [ AppComponent ], 导出表那些能在其它模块的组件模板中使⽤的可声明对象的⼦集。
bootstrap: [ AppComponent ], //应⽤的主视图,称为根组件。
})
在 Angular 中有三种类型的指令:
组件 — 拥有模板的指令
结构型指令 — 通过添加和移除 DOM 元素改变 DOM 布局的指令
情软件免费网站大全下载属性型指令 — 改变元素、组件或其它指令的外观和⾏为的指令。
angular ⽣命周期的顺序
ngOnChanges: Angular 设置或重新设置数据绑定的输⼊属性时响应。在 ngOnInit() 之前以及所绑定的⼀个或多个输⼊属性的值发⽣变化时都会调⽤ngOnInit: 在 Angular 第⼀次显⽰数据绑定和设置指令/组件的输⼊属性之后,初始化指令/组件。
ngDoCheck:检测,并在发⽣ Angular ⽆法或不愿意⾃⼰检测的变化时作出反应,在ngOnChnages之后
ngAfterContentInit:当 Angular 把外部内容投影进组件视图或指令所在的视图之后调⽤,在ngDoCheck之后
ngAfterContentChecked:每当 Angular 检查完被投影到组件或指令中的内容之后调⽤,在之后调⽤
scala中的赋值语句ngAfterViewInit:当 Angular 初始化完组件视图及其⼦视图或包含该指令的视图之后调⽤。在ng..之后,只调⽤⼀次
ngAfterViewChecked:每当 Angular 做完组件视图和⼦视图或包含该指令的视图的变更检测之后调⽤,
gAfterViewInit() 和每次 ngAfterContentChecked() 之后调⽤。
ngOnDestroy:当 Angular 每次销毁指令/组件之前调⽤并清扫.
⽗⼦组件传值
⼦组件暴露⼀个 EventEmitter 属性,当事件发⽣时,⼦组件利⽤该属性 emits(向上弹射)事件。⽗组件绑定到这个事件属性,并在事件发⽣时作出回应。
输出给⽗组件 @Output EventEmitter it(value)也叫事件发射器触发⽗组件值得改变
⼦组件接收值⽤的@input
组件样式 (仅限本组件) None (全局样式)Emulated (只进不出,全局样式能进来,组件样式出不去)
angular 数据双向绑定原理
原理:页⾯中每绑定⼀个数据或者事件时,就会向$watch队列中加⼊⼀条$watch,当浏览器接受到可
以被angular context(当事件触发,调⽤$apply进⼊angular context)处理的事件时,就会触发digest循环,它会遍历每⼀个$watch检查其属性和值是否发⽣改变,如果改变则⽤新值覆盖旧值,直到所有$watch检查完。如果此次digest循环有更新,那么会再次触发digest循环,直到所有的$watch都没有更新为⽌。
使⽤Angular 2,和使⽤Angular 1相⽐,有什么优势?
1. Angular 2是⼀个平台,不仅是⼀种语⾔
2. 更好的速度和性能
3. 更简单的依赖注⼊
web前端基础面试题4. 模块化,跨平台
5. 具备ES6和Typescript的好处。
jquery 滚动条位置6. 灵活的路由,具备延迟加载功能
7. 更容易学习
8. angular1是全局监听,变量越多性能越差,angular2采⽤模块化监听,提升了性能
在Angular 2应⽤中,我们应该注意哪些安全威胁?
就像任何其他客户端或Web应⽤程序⼀样,Angular 2应⽤程序也应该遵循⼀些基本准则来减轻安全风险。其中⼀些是:
避免为你的组件使⽤/注⼊动态HTML内容。
如果使⽤外部HTML,也就是来⾃数据库或应⽤程序之外的地⽅,那么就需要清理它。
不要将外部⽹址放在应⽤程序中,除⾮它是受信任的。避免⽹址重定向,除⾮它是可信的。
考虑使⽤AOT编译或离线编译。
通过限制api,选择使⽤已知或安全环境/浏览器的app来防⽌XSRF攻击、
Angular变化监测 :
event:绑定event事件,数据变化视图更新
timeout,延迟触发
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论