我想根据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' });
});
}
};
});