2017-11-09 11 views
0

私は、反応性のカスタムコントロールを使用します。角反応性フォーム - 周囲のHTMLタグを削除するには?

<div customFormControl formControlName="old"></div> 

およびコンポーネントに、私のセレクタは次のように定義される:どのように私は、周囲の

<div class="ng-untouched ng-pristine ng-invalid" customformcontrol="" formcontrolname="old" ng-reflect-name="old" ...></div> 

が消えることを達成することができます

selector: '[customFormControl]', 

+0

このタグが必要な理由はありますか? Angularがタグを生成するとき、通常はAngularが機能するために必要です。 –

+0

遅れて申し訳ありませんが、 私はちょうど余分なdivを取得したいので、コンポーネントからCSSクラスを取得することができました。 あなたのやり方で試してみましたが、エラーが発生します: "予期しない終了タグ 'customFormControl'。タグがすでに別のタグで閉じられている場合に発生する可能性があります。 私はテンプレートフォームを使ってある程度の量のxpを持っていますが、これらの反応形式を機能させるよう努めています。この上にいくつかのドキュメントがあることを望みます(カスタムレスキューコンポーネントを継承します)。 –

答えて

0

カスタムコントロールディレクティブを実装していて、角度コントロールのアーティファクトを邪魔にならないようにするには、同じ要素に対してformControlNameディレクティブの使用をやめてください。だから、あなたはあなたが持っているものに変更できます。

<div customFormControl formControlName="old"></div> 

のようなものに:あなたのディレクティブ内

@Directive({ 
    selector: '[customFormControl]' 
}) 
export class FormControlDirective{ 
    @Input('customFormControl') control:FormControl; 
} 

:あなたのディレクティブで

<div [customFormControl]="old"></div> 

、あなたはこのように@Input()を使用してコントロールをキャプチャします今度は、controlプロパティを持つAngular FormControlへの参照があります

0

<div ...>タグを削除し、<customFormControl ...>タグがある場合は、必要なコンポーネントのセレクタ名を使用します。

<customFormControl formControlName="old"></custumFormControl> 

あなたはまだ角度からNG-そのまま、NG-手付かずなどのクラスと追加属性を持っていますが、それらは、とりわけフォームの検証のために使用することは非常に実用的であることができます。

関連する問題