这里是我要获取字符串中项目的计数的场景,以便当集合中有很多值时,它将显示一些并显示总值的计数,但是这里的挑战是,即时通讯更改了给定的字符串中的值插值。
.ts:
showCoverageDetails(){
this.policyCoverage.forEach((item,i) => {
if(i == 0){
this.coverageDetail = item.CoverageType+", ";
} else if(i == this.policyCoverage.length-1){
this.coverageDetail = this.coverageDetail + item.CoverageType;
} else {
this.coverageDetail = this.coverageDetail + item.CoverageType + ", " ;
}
})
}
上面是调用该函数以将数据填充为字符串的方法。
html :
<div *ngIf="coverageDetail;else coverageBlock">
<p id="policycoverage" [title]="coverageDetail">{{ coverageDetail | ellipsisWithItemCount : 'policycoverage' }}</p>
</div>
<ng-template #coverageBlock>
<p>{{ 'POLICY_MODULE.COVERAGE_PERIL.NO_COVERAGE_SELECTED' | translate }}</p>
</ng-template>
这是html代码ellipsiswithitemcount是自定义管道。 管道使用元素ID和字符串值,这里是管道代码
$(document).ready(function () {
for (i = 0; i < itemCollection.length; i++) {
if (i < itemCollection.length - 1)
$('#' + elementId).append(itemCollection[i] + ',');
else
$('#' + elementId).append(itemCollection[i]);
if ($('#' + elementId).width() > $('#' + elementId).parent().width() * 0.8) {
break;
}
}
if ($('#' + elementId).width() > $('#' + elementId).parent().width() * 0.8) {
finalString = $('#' + elementId).append(' ... +' + (itemCollection.length - (i + 1)));
console.log(finalString);
}
});
在此我没有得到元素的宽度。
$('#'+ elementId ).width()
给出0。有人知道原因吗?