入力にコスチューム属性ディレクティブを設定しようとしていますが、その方法を見つけることができませんでした。私はちょうど入力して、独自でディレクティブを置く場合Angular2のコスチューム属性ディレクティブを設定する
私のディレクティブは、以下の
@Directive({
selector: '[disable-paste]'
})
export class DisablePaste {
constructor(private _elementRef:ElementRef) {
this._elementRef.nativeElement.onpaste = (e:any) => {
e.preventDefault();
}
}
}
で、それが動作します。しかし、私はそれを "条件付きで"使用しようとすると、それはdoesntです。 私はこれらすべてを試してみました:
<input [disable-paste]="doNotAllowPaste" ... />
<input disable-paste="doNotAllowPaste" ... />
<input [attr.disable-paste]="doNotAllowPaste" ... />
これは良い選択肢であるが、私は条件付きの方法があったかどうかを知りたいと思いましたそのディレクティブを入力しなくてもレンダリングすることができます。 –
ちょっとばかげた質問です。あなたがその行動をしていない場合、なぜディレクティブを適用しないのですか?このディレクティブにはいくつかのものがあります。あなたの問題をよりよく理解しようとする;-) Angular2は一般に別の属性を混ぜて無効にします。例: 'selector: 'フォーム:not([ngNoForm]):not([ngFormModel])、ngForm、[ngForm]''。 https://github.com/angular/angular/blob/master/modules/angular2/src/common/forms/directives/ng_form.ts#L81をご覧ください。 –