0

http://plnkr.co/edit/xqYBnz5BHLP844kXJXKs?p=previewを参照してください。

作業バージョンを参照してください: http://bkuhl.github.io/angular-form-ui/#!/slide-toggle

ここで起こっていることは、Angular がディレクティブを処理するときに幅の計算があるということです。ただし、アイテムは表示されないため、幅はありません。このスライダーに表示されるラベルはカスタマイズ可能であるため、デフォルトでオン/オフになっていますが、何でもかまいません. つまり、スライダーの幅は完全に可変である必要があります。

幅の計算を避けるために、このスライダーの CSS を変更することは可能ですか?

4

1 に答える 1

1

すべてのケースで可能かどうかはわかりませんが、plunker で ng-show を ng-if に置き換えるとうまくいきます (css/js を追加する必要はありません)。

ここを参照してください: http://plnkr.co/edit/dghyemUuBMfbIPgLJHPz?p=preview

条件が true に評価されるまでディレクティブが呼び出されないため、ng-if で動作しています。ここから、親 dom 要素が表示され、幅の計算が成功します。一方、ng-show の場合、ディレクティブは直接呼び出され、その親 dom 要素が非表示 (display:none;) であるため、幅の計算は「失敗」します。

参考までに ng-if はバージョン 1.1.5 以降の Angular で利用できます。

于 2013-09-14T17:26:43.087 に答える