我相信你在每个v-for
中添加了一个div/组件,你可以 for each div添加一个唯一的id.下面的方法可以为你提供px
中一个div的高度,你将有办法将px
转换为mm
.
如果你使用jquery,你可以这样做
$('#nthDiv').height();
如果没有,您可以执行以下操作:
inner height:
document.getElementById('#nthDiv').clientHeight;
outer height:
document.getElementById('#nthDiv').offsetHeight;
如果您有以下代码:
<div v-for="(item, index) in items" :class="{'page-break': isBreakNeeded(index)}" :id="index + 'thDiv'">
///Your code
</div>
您需要添加以下方法:
isBreakNeeded (index) {
var height = 0
do {
index -= 1;
height += document.getElementById('#' + index + 'thDiv').offsetHeight;
} while (index >= 0 || pageBreakAdded[index] == true)
if(height > threshold){
pageBreakAdded[index] = true
return true
}
else{
return false
}
}
您还需要在vue元素的data属性中添加以下哈希,它将跟踪您添加了分页符的索引:
pageBreakAdded: {}