使一个简单的 DOM 属性成为来自指令的单向绑定

Make a simple DOM attribute a one-way binding one from a directive

很明显,我的目标是在使用 angular 指令作为

后,使元素看起来像 <input type="text" [placeholder]="'example'" /> <input type="text" placeholder="example" />
import { Directive, HostBinding } from '@angular/core';

@Directive({
  selector: 'input[placeholder]'
})
export class PlaceholderDirective {
  @HostBinding('placeholder') placeholder:string;
  constructor() {
  }
}

但我现在真的不知道如何在没有 undefined 值的情况下获取 [placeholder] 中的第一组 placeholder="A placeholder"

好的,我通过提问和写下问题来回答自己,但这里是为那些会问自己这个问题的人准备的: 我导入 ElementRef 来访问原始占位符值并直接在 constructor 中设置它!

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

@Directive({
  selector: 'input[placeholder]'
})
export class PlaceholderDirective{
  @HostBinding('placeholder') placeholder:string;
  constructor(elementRef: ElementRef) {
    this.placeholder = elementRef.nativeElement.placeholder;
  }
}