0

UL 内の LI 要素の数に基づいて UL の幅を更新したいのですが、現在、$timeout を使用してカスタム ディレクティブを作成することでこれを行っています。 jQuery と AngularJS を組み合わせてこれを実現しました。

コントローラーで変数を監視し、同じものを ng-style に渡すことにより、純粋な角度の方法でこれを行うより良い方法はありますか? マイページには、可変数の LI を持つ複数の UL が含まれています。提案してください。

app.directive('setUlLength', function ($timeout) {
    return {
        restrict: 'A',
        link: function (scope, element, attr) {
            $timeout(function () {
                var totli = $(element).find('ul').children('li').length;
                var liwid = $(element).find(".prod-gall ul li:first").outerWidth(true);
                var setUlWidth = totli * liwid;
                $(element).find('.prod-gall ul').css({ 'width': setUlWidth + 'px' });
            });
        }
    };
});
4

0 に答える 0