之前在分页这么一直不知道该怎么去写,然后上一次问了丑丑,然后他给我一解释,我好像就会写了,下面就是具体得写法,
页面代码:
?<div?class="newsList">
??????<div?class="Journalism">
????????<div?class="title"?style="font-size:?24px;?height:?44px">
??????????NEWS?INFORMATION
????????</div>
????????<div?class="title"?style="font-size:?40px;?line-height:?72px">
??????????新闻资讯
????????</div>
????????<div?class="more"?@click="seeMore">
??????????<span>/</span>
??????????<span>了解更多</span>
??????????<img?src="@/assets/images/newImg/home/more.png"?alt=""?/>
????????</div>
????????<div?class="newsBox">
??????????<el-row>
????????????<el-col?:span="12"?style="padding-right:?30px">
??????????????<div?class="img-box">
????????????????<div?class="mask">
??????????????????<div>{{?newsData[0].BI_TITLE?}}</div>
??????????????????<div>{{?newsData[0].date?}}</div>
????????????????</div>
??????????????</div>
????????????</el-col>
????????????<el-col?:span="12">
??????????????<time-line
????????????????:newsData="newsData"
??????????????></time-line>
????????????</el-col>
??????????</el-row>
??????<el-pagination?background?layout="prev,?pager,?next"?:total="TOTAL"?:page-size='PageSizes'?:current-page.sync="currentPage"?class="pagination"?@current-change="handleSizeChange"></el-pagination>
//:page-size="PageSizes"表示的是一页显示多少条
//:current-page.sync="currentPage"表示的是显示几页
????????</div>
??????</div>
????</div>
逻辑代码:
?data()?{
????return?{
??????currentPage:?1,?//页码
??????PageSizes:?5,?//条数
??????TOTAL:?0, //一共多少条数据
}}
methods:{
????newsList()?{
???????const?data?=?new?FormData()
???????data.append(
?????????"json",
?????????JSON.stringify({
????????????BI_TYPE:?"0",
????????????PageIndexs:?this.currentPage, //告诉接口几页默认是一页
????????????PageSizes:?this.PageSizes, //告诉接口一页返回几条数据
????????}),
???????)
??????Api.newsList(data).then((res)?=>?{
????????//?console.log(res,"home11111");
????????let?newsData?=?res.data;
???????newsData.map((item)?=>?{
??????????//?console.log(item,"item");
??????????item.date?=?item.PUSH_DATE;
??????????item.id?=?item.ID;
??????????item.title?=?item.BI_TITLE;
??????????item.centent?=?item.BI_CONTENTS;
??????????item.TNS_IMGPATH?=?item.BI_IMAGEURL;
????????});
????????this.newsData?=?newsData;
????????this.TOTAL?=?Number(res.dataTotal);
????????//?console.log(this.TOTAL,?"this.TOTAL");
??????});
????},
???//?页数变化
????handleSizeChange?(value)?{
??????this.currentPage?=?value
??????this.newsList()
????},
}
样式代码:
?.newsList?{
????width:?100%;
????padding:?100px?0;
????.Journalism?{
??????width:?1200px;
??????margin:?0?auto;
??????.title?{
????????height:?40px;
????????font-size:?36px;
????????font-family:?Source?Han?Sans?CN;
????????font-weight:?500;
????????color:?#000000;
????????display:?flex;
????????justify-content:?center;
??????}
??????.more?{
????????width:?100%;
????????height:?20px;
????????margin:?20px?0;
????????border-radius:?13px;
????????cursor:?pointer;
????????font-size:?14px;
????????font-family:?Microsoft?YaHei;
????????font-weight:?400;
????????color:?#21589d;
????????display:?flex;
????????align-items:?center;
????????justify-content:?flex-end;
????????span?{
??????????margin-right:?15px;
????????}
??????}
??????.newsBox?{
????????.img-box?{
??????????width:?100%;
??????????height:?360px;
??????????background:?url("../../../assets/images/newImg/home/news.png")
????????????no-repeat;
??????????background-size:?100%?100%;
??????????position:?relative;
??????????.mask?{
????????????position:?absolute;
????????????left:?0;
????????????right:?0;
????????????bottom:?0;
????????????height:?90px;
????????????padding:?20px?30px;
????????????background:?rgba(33,?88,?157,?0.6);
????????????>?div?{
??????????????font-size:?18px;
??????????????font-family:?Microsoft?YaHei,?Microsoft?YaHei-Regular;
??????????????font-weight:?400;
??????????????text-align:?left;
??????????????color:?#ffffff;
??????????????letter-spacing:?0px;
????????????}
??????????}
????????}
??????}
??????.JournalismBox?{
????????height:?452px;
????????margin-top:?40px;
????????background:?#ffffff;
????????box-shadow:?0px?0px?10px?0px?rgba(0,?0,?0,?0.06);
????????border-radius:?5px;
????????.JournalismUl?{
??????????display:?flex;
??????????justify-content:?space-between;
??????????flex-wrap:?wrap;
??????????padding:?0?30px;
??????????.JournalismLi?{
????????????width:?269px;
????????????height:?380px;
????????????cursor:?pointer;
????????????.title?{
??????????????height:?90px;
??????????????border-bottom:?1px?solid?#eeeeee;
??????????????display:?flex;
??????????????flex-direction:?column;
??????????????.titleTop?{
????????????????height:?35px;
????????????????font-size:?31px;
????????????????font-family:?Microsoft?YaHei;
????????????????font-weight:?400;
????????????????color:?#333333;
??????????????}
??????????????.titleBotm?{
????????????????margin-top:?6px;
????????????????height:?13px;
????????????????font-size:?14px;
????????????????font-family:?Microsoft?YaHei;
????????????????font-weight:?400;
????????????????color:?#999999;
??????????????}
????????????}
????????????.content?{
??????????????height:?107px;
??????????????margin-top:?20px;
??????????????.contentTitle?{
????????????????height:?48px;
????????????????font-size:?18px;
????????????????font-family:?Microsoft?YaHei;
????????????????font-weight:?bold;
????????????????color:?#333333;
????????????????line-height:?24px;
????????????????display:?flex;
????????????????justify-content:?center;
??????????????}
??????????????.contentBox?{
????????????????width:?265px;
????????????????height:?80px;
????????????????margin-top:?14px;
????????????????font-size:?14px;
????????????????font-family:?Microsoft?YaHei;
????????????????font-weight:?400;
????????????????color:?#666666;
????????????????line-height:?20px;
????????????????text-indent:?47px;
????????????????display:?-webkit-box;
????????????????-webkit-box-orient:?vertical;
????????????????-webkit-line-clamp:?4;
????????????????overflow:?hidden;
??????????????}
??????????????.contentImg?{
????????????????width:?266px;
????????????????height:?137px;
????????????????margin-top:?11px;
????????????????img?{
??????????????????width:?100%;
??????????????????height:?100%;
????????????????}
??????????????}
????????????}
??????????}
????????}
????????.MoreInformation?{
??????????margin-top:?10px;
??????????height:?70px;
??????????line-height:?70px;
??????????display:?flex;
??????????justify-content:?center;
??????????font-size:?16px;
??????????font-family:?Microsoft?YaHei;
??????????font-weight:?400;
??????????color:?#999999;
??????????cursor:?pointer;
????????}
??????}
????}
??}
后端接口数据的返回及传参:
最后的效果展示如下: