我有一张桌子和ngRepeat我正在展示产品和细节
我也有一个指令
.directive('onFinishRenderFilters', function ($timeout) {
return {
restrict: 'A',
link: function (scope, element, attr) {
if (scope.$last === true) {
$timeout(function () {
scope.$emit('ngRepeatFinished');
});
}
}
}
})
我用来修复html css样式
$scope.$on('ngRepeatFinished', function (ngRepeatFinished) {
if($(".row0_fixed").outerHeight()>($(".row0").outerHeight())){
$(".row0").outerHeight($(".row0_fixed").outerHeight());
}else{
$(".row0_fixed").outerHeight($(".row0").outerHeight());
}
if($(".row1_fixed").outerHeight()>($(".row1").outerHeight())){
$(".row1").outerHeight($(".row1_fixed").outerHeight());
}else{
$(".row1_fixed").outerHeight($(".row1").outerHeight());
}
if($(".row2_fixed").outerHeight()>($(".row2").outerHeight())){
$(".row2").outerHeight($(".row2_fixed").outerHeight());
}else{
$(".row2_fixed").outerHeight($(".row2").outerHeight());
}
if($(".row3_fixed").outerHeight()>($(".row3").outerHeight())){
$(".row3").outerHeight($(".row3_fixed").outerHeight());
}else{
$(".row3_fixed").outerHeight($(".row3").outerHeight());
}
if($(".row4_fixed").outerHeight()>($(".row4").outerHeight())){
$(".row4").outerHeight($(".row4_fixed").outerHeight());
}else{
$(".row4_fixed").outerHeight($(".row4").outerHeight());
}
if($(".row5_fixed").outerHeight()>($(".row5").outerHeight())){
$(".row5").outerHeight($(".row5_fixed").outerHeight());
}else{
$(".row5_fixed").outerHeight($(".row5").outerHeight());
}
if($(".row6_fixed").outerHeight()>($(".row6").outerHeight())){
$(".row6").outerHeight($(".row6_fixed").outerHeight());
}else{
$(".row6_fixed").outerHeight($(".row6").outerHeight());
}
if($(".row7_fixed").outerHeight()>($(".row7").outerHeight())){
$(".row7").outerHeight($(".row7_fixed").outerHeight());
}else{
$(".row7_fixed").outerHeight($(".row7").outerHeight());
}
if($(".row8_fixed").outerHeight()>($(".row8").outerHeight())){
$(".row8").outerHeight($(".row8_fixed").outerHeight());
}else{
$(".row8_fixed").outerHeight($(".row8").outerHeight());
}
if($(".row9_fixed").outerHeight()>($(".row9").outerHeight())){
$(".row9").outerHeight($(".row9_fixed").outerHeight());
}else{
$(".row9_fixed").outerHeight($(".row9").outerHeight());
}
});
}])
问题是如果我从作用域中删除了一个产品,该指令不再运行,并且样式被破坏
提前致谢
答案 0 :(得分:0)
解决方案是在$ scope中添加$ watch并使用jquery查看outerHeight是否正在更改并且fixit
这是我用来解决问题的代码的一部分
$scope.$watch(function(){
return $(".row0").outerHeight();
},function(){
fixTable();
});