2017-12-13 6 views
1

本当に長いフォームがあり、ユーザーがクリックしたセクションに基づいてフォームの一部を表示したいと思います。 * ngIfを使用したくないのは、DOMから要素を削除し、テンプレート全体全体を読み取る必要があるフォームバリデーターを持つためです。角2の隠れたディビジョンはまだスペーシングを表示しています

今私はこの<div class="row social-media" [hidden]="navToggleIndex!=1">を使ってdivを隠していますが、私が新しいセクションに切り替えると、行の間隔はまだあります。次の表示divs/rowsのセットまで空白ができます。どのようにして間隔を隠すことができますか? * ngはスペースを削除しますが、上記の問題を引き起こします。

+0

'visibility:hidden'はDOMから要素を削除しないので、すべての位置スタイリングはまだ存在します。あなたはその要素に影響を与える他のルールがあると思いますか? 'margin 'や' padding'や 'line-height'はありますか? 'class =" row "'では、あなたは何らかのフレームワークを使っていると思いますか? –

+0

隠れた行形式を維持しているように見えます。行の書式設定も非表示にする簡単な方法はありますか? Angular CLIでBootstrap 3.3.7を使用する – Kenzo

答えて

2

あなたは

<div class="row social-media" [ngClass]="{ 'hide': navToggleIndex!=1 }"> 

を試みることと私はあなたが現在使用している検証ライブラリわかりません。 jQuery Validatorの場合は、このオプションを指定する必要があります。

$.validator.setDefaults({ 
    ignore: [] 
}); 

jQuery Validatorが隠し要素を無視するのを防ぐためです。

+0

それはそうしました。ありがとうございました! – Kenzo

関連する問題