根据AngularJS中li元素的数量设置UL的宽度

时间:2015-01-13 21:31:32

标签: angularjs ng-style

我想根据UL内部LI元素的数量来更新UL的宽度,目前我正在通过创建一个带有$ timeout的自定义指令来实现这一点,这实际上是在延迟要加载内容的页面我也是用jQuery和AngularJS混合实现的。

通过在控制器中观察变量并将其传递给ng风格,是否有更好的方法以纯角度方式执行此操作?我的页面包含几个具有可变数量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' });
            });
        }
    };
});

0 个答案:

没有答案