我有一个这样的输入文本字段

<input type="text" class="form-control"  [inputTextFilter]="A" [ngModel]="name">

我的指令是:
import { Directive, Input, HostListener } from '@angular/core';

@Directive({
  selector: '[inputTextFilter]'
})

export class InputTextFilterDirective {
  @Input('inputTextFilter') params: string;

  @HostListener('keypress', ['$event'])
  onKeyUp(event: KeyboardEvent) {
    console.log('got parameters: '+this.params);
  }
}

并且我创建了一个名为“inputTextFilter”的指令,我要将“A”参数传递给该指令。我传递的参数始终显示为undefined。

最佳答案

试试这个。
更新:

import {Directive, SimpleChanges} from '@angular/core';

@Directive({
  selector: '[inputTextFilter]'
})
export class MyDirective {
  @Input('inputTextFilter') params: string;
  constructor(){}
  ngOnInit(){
     console.log(this.params)
  }
}

关于angular - 将参数传递给输入上的Angular 4指令,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46302684/

10-10 22:19