2016-10-31 20 views
1

ボタンをクリックしたときに表示したいカスタム要素があります。角度2で機能するHTML属性値を渡す

<my-element [hidden]="switchHidden()"></my-element> 

を...それが偽でいた場合、それは今、真の、およびその逆になります。私はそのボタンをクリックすると、その後、私は...のような何かをしたいです。非常に典型的なアプローチ。

しかし、私は "switchHidden()"関数に "hidden"属性の値を渡すことはできません。私はこれをどうやって行うことができるのですか?真実か偽であるかを確認することができますか?

ありがとうございました!

+0

は、カスタム要素の内側や外側に、ショーのカスタム要素を非表示にする]をクリックするボタンですか? –

答えて

1

PLUNKERデモ

はちょうどあなたがそれを表示し、非表示にしたいときのためのブール値であるコンポーネントで変数を持っています。

let showElement: Boolean = true; 

ボタンでオン/オフを切り替える場合は、これをクリックしてください。

<button (click)="showElement = !showElement">Toggle</button> 

これは、ユーザーがボタンをクリックするたびにshowElementの値を反転します。したがって、showElementが真の場合、ユーザーがボタンをクリックするとshowElementがfalseになり、要素が隠されます。逆の場合はshowElementがfalseの場合、ユーザーはボタンをクリックしてtrueにして要素を表示します。

1

は隠し属性、使用を使用しないでください。

<my-element *ngIf="switchHidden"></my-element> 

http://angularjs.blogspot.ba/2016/04/5-rookie-mistakes-to-avoid-with-angular.html

+1

これはちょっとばかばかしいようです(不快であることを意味するわけではありません)。表示:なし、DOM要素の作成と破棄よりもはるかに軽量です。CSSに問題がある場合はいつでも独自の属性を追加できます。 '[hidden] { ディスプレイ:なし!重要; } ' – PiniH

関連する問題