我想做一个过滤器:
-按给定数量的字符截断文本
-从html字符串中删除图像元素
-字符数必须始终相同,这意味着在截断文本时必须考虑从图像元素中删除的字符。
伙计们,请帮我完成这个过程,我比较难的部分是考虑到从图像元素中删除的字符,当我说删除图像时,我的意思是实际上是在删除整个元素字符串:>
<img> and everything in between </img>
这是我目前的方法:
Vue.filter('truncate', function (value, limit = 30) {
if(!value) return '';
if (value.length > limit) {
value = value.substring(0, (limit - 3)) + '[...]';
}
//must always return value *anything
return value;
})
这是我在模板中应用过滤器的方式:
<section class="EVENTcard1_maincontainer" v-if="event">
<div class="EVENTcard1_item_info_description fs_normal c_normal" v-html="$options.filters.truncate(event.body, 400)"></div>
</section>
</template>