gpt4 book ai didi

css - 如何使 Angular Directive(指令)不断检查元素的高度?

转载 作者:行者123 更新时间:2023-11-28 12:17:46 24 4
gpt4 key购买 nike

我使用这个指令:

App  
.directive('maxHeightBorder', function(){
return {
restrict: 'A',
link: function($scope, $el, $attr){
if($el.height() >= $attr.maxHeightBorder){
$el.css('box-shadow','0 0 5px 5px black');
}
}
}
});

有了这个元素:<ul class="list-group" id="events-list" max-height-border="250">

问题是:当我加载页面时,这个元素是空的,指令的 if声明失败。加载后,Angular 填充此元素,其高度超过 250 像素,但随后不会检查该指令,因此永远不会应用新样式。

最佳答案

试试这个:

directive('maxHeightBorder', function($timeout){ // inject $timeout wrapper
return {
restrict: 'A',
link: function(scope, el, attr){
$timeout(function(){
if(el.height() >= attr.maxHeightBorder){
el.css('border-bottom','2px solid');
}
});
}
}
});

另请参阅:How JavaScript Timers Work

关于css - 如何使 Angular Directive(指令)不断检查元素的高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19563159/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com