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才会重新生效。

  

   

     

 

        

posted @ 2020-06-12 17:09  Angular踩坑者  阅读(206)  评论(0编辑  收藏  举报