小弟最近刚入Vue
的坑
准备随手拿一个项目练手,一个企业官网
里面有一个新闻列表
由于是PC站,所以准备采用JS
的方法来解决文本溢出隐藏显示省略号
代码如下
Html (在v-for
的li
中)
<div class="newsText" ref='text'>
<p>{{ item.newsContent }}</p>
</div>
JS(直接复制的之前JQ项目)
eliText(div){
div.forEach(function(val,index){
console.log(val.style.height)
})
// div.each(function(i){
// var divH = $(this).height();
// var $p = $("p", $(this)).eq(0);
// while ($p.outerHeight() > divH) {
// $p.text($p.html().replace(/(\s)*([a-zA-Z0-9]+|\W)(\.\.\.)?$/, "..."));
// };
// });
}
放在mounted
能获取到this.$refs
,里面也有text
,但是this.$refs.text
却是个undefined
一脸问号???
mounted(){
this.$nextTick(function(){
console.log(this.$refs)
let text = this.$refs.text;
console.log(text);
//this.eliText(text);
})
}
点开是这样的
但是放在updated
虽然获取到dom,但是我怎么获取元素的高度,打印出来的this.$refs.text.style.height
是''
updated(){
let text = this.$refs.text;
console.log(text);
this.eliText(text);
}
求各位大佬指教Orz
应该是this.$refs.text.offsetHeight吧? style.height是获取你给他定义的高度的数值