Angular零碎知识点-持续补充
一 . Angular中按回车键触发处理input输入数据的函数方法。
<input placeholder="" [(ngModel)]="inputName" (change)="reName()" /> //按下回车后会执行reName函数。
二. Angular动态更改当前元素的style样式或class类名。
<div [ngClass]="{'analysis-float':!fixed,'analysis-fixed':fixed}" [style.width.px]="width"></div>
/*控制多个样式的显示与否analysis-float为样式类名,fixed根据需要为true或false。此属性会一直调用,
如你在该元素上添加style内联样式与ngClass中样式类属性有重合,ngClass会一直调用导致覆盖内联style样式。*/
<div [class.name]="vis"></div>
//name为你要控制的样式名,vis为真或假.
<div [ngStyle]="{'color':vis?'red':'black'}"></div>
//和ngClass一样也会重复调用。
<div [style.width.px]="200"></div>
//设置style的宽度
三. Angular的路由传参的两种方式。
1 .动态路由传值,如example/:id,看步骤:
1.1 在模块对应的routing.module.ts中配置相应路由
{ path: 'example/:id', component: ExampleComponent}
1.2 在要使用参数的模块引入ActivatedRoute
import { ActivatedRoute } from '@angular/router';
//构造器注入
constructor(
private route: ActivatedRoute,
) {
}
//调用;注意这种传参用的是params
//这种可以根据id的值监听id 值的变化。
this.router.params.subscribe(
(params: Params) => {
console.log(params.id);
);
//这种是快照,获取到的id值不会再改变,即使你的路由的id发生了改变
this.route.snapshot.params.id
2.query路由传值,如:example?id=1&name=xk;
两种传递方式
第一种:
html文件中
<a [routerLink]="['/example']" [queryParams]="{id:key,name:xk}">
</a>
第二种:
ts文件中:
需要先引入router:
import { Router } from '@angular/router';
构造器注入:
constructor(
private router: Router,
) { }
使用:
this.router.navigate(['/example'], {
queryParams: {
id: key,
name: xk
}
});
获取参数: 和第一种获取方式类似,唯一不同之处在于把params改为queryParams。
四. angular优化导入文件路径。
优化前
import { ExportUtilService } from '../../../core/util/export.service';
优化后
import { ExportUtilService } from '@core/util/export.service';
方法:
打开tsconfig.json,找到paths,添加如下形式的代码
paths:{
"@core/*": [
"src/app/core/*"
],
}
五. angular如何让全局使用moment.js不用再每个文件单独导入。
1.肯定先要有moment.js的包
npm i moment.js
2.打开angular.json文件,找到每个scripts加入如下代码:

加完,重启项目,angular.json才会重新生效。

浙公网安备 33010602011771号