아래에서는 너무 긴 기사의 전문을 클릭하여 읽을 수 있는 기능을 구현한 Vue의 예를 공유하겠습니다. 참고할 만한 가치가 있어 모두에게 도움이 되기를 바랍니다.
코드로 직접 이동하세요:
<p class="bodyFont clearfloat" id="bodyFont" ref="bodyFont" :class="{bodyHeight:contentStatus}">
<p v-html="content"></p>
</p>
<p class="contentToggle" v-if="contentStatus" @click="contentStatus=!contentStatus">阅读全文</p>.bodyFont{
.font-dpr(16px);
color: #333;
text-align: left;
line-height:58px;
word-break:break-all;
word-wrap:break-word;
padding-bottom: 30px;
height:auto;
overflow: hidden;
max-height: 100%;
p{margin:16px 0 0 0;}
}
.bodyHeight{
height:5000px;
}
.contentToggle{
height:60px;
line-height:60px;
text-align: center;
color:@red;
border:1px solid @red;
border-radius: 5px;
.font-dpr(14px);
margin-bottom:30px;
}data(){
return {
contentStatus:false,
curHeight:0,
bodyHeight:5000
}
},
mounted(){
setTimeout(()=>{
this.contentToggle();
},500)
},
methods:{
contentToggle(){
this.curHeight=this.$refs.bodyFont.offsetHeight;
if(this.curHeight>this.bodyHeight){
this.contentStatus=true;
}else{
this.contentStatus=false;
}
},
}
1. 콘텐츠의 높이를 얻으려면 DOM이 로드될 때까지 기다린 다음 실제로 얻을 수 있는지 확인하기 위해 setTimeout 함수를 추가해야 합니다. 콘텐츠의 높이가 표시하도록 설정한 높이보다 높은 경우 표시하려는 높이로만 제한하고 클래스를 추가하여 문제를 해결한 후 Overflow: Hidden에 주의하세요.
위 내용은 제가 편집한 것입니다. 여러분, 앞으로 모든 분들께 도움이 되었으면 좋겠습니다. 관련 기사:Vue-cli에서 별도 페이지의 배경색을 설정하는 방법
자세한 설명 vue 프로젝트에 elementUI 구성 요소 소개
위 내용은 Vue에서 전체 텍스트를 읽는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!