このコードを使用して、子供の身長の変化を監視しています。
$scope.$watch(function () {
return element.children().height();
},
function (newHeight) {
if (newHeight) {
element.height(newHeight);
}
});
でかなりうまく機能しますがng-if
、ng-show | ng-hide
高さ変更イベントは発生しません。ng-show | ng-hide
ディレクティブを使用するときに高さを見る方法はありますか?
例:
<div class="form-slider">
<div ng-if="step === 1" class="animate">
<div ng-show="error">Error message</div>
Some content
</div>
<div ng-if="step === 2" class="animate">
<div ng-show="error">Error message</div>
Some content
</div>
</div>
アニメーションを使用して s を切り替えるng-if
ので、 so:
.form-slider
has position: relative
、 while .animate
: position: absolute
. ご存知かもしれませんが.form-slider
、この場合、html は高さを計算しないため、JS を使用して高さを変更する必要があります。