老师HomeIcons界面没显示,页面也没报错
来源:2-8 Vue项目首页 - 图标区域逻辑实现
慕仰7236035
2020-12-20 21:19:10
<template>
<div class="icons" :options="swiperOption">
<swiper>
<swiper-slide v-for="(page, index) of pages" :key="index">
<div class="icon" v-for="item of page" :key="item.id">
<div class="icon-img">
<img class="icon-img-content" :src="item.imgUrl" />
</div>
<p class="icon-desc">{{ item.desc }}</p>
</div>
</swiper-slide>
</swiper>
</div>
</template>
<script>
export default {
name: "HomeIcons",
data() {
return {
iconList: [
{
id: "0001",
imgurl:
"http://img1.qunarzz.com/piao/fusion/1611/54/ace00878a52d9702.png",
desc: "景点门票",
},
{
id: "0002",
imgurl:
"http://img1.qunarzz.com/piao/fusion/1711/df/86cbcfc533330d02.png",
desc: "滑雪季",
},
{
id: "0003",
imgurl:
"http://img1.qunarzz.com/piao/fusion/1710/a6/83f636bd75ae6302.png",
desc: "泡温泉",
},
{
id: "0004",
imgurl:
"http://img1.qunarzz.com/piao/fusion/1611/35/2640cab202c41b02.png",
desc: "动植园",
},
{
id: "0005",
imgurl:
"http://img1.qunarzz.com/piao/fusion/1611/d0/e09575e66f4aa402.png",
desc: "游乐园",
},
{
id: "0007",
imgurl:
"http://img1.qunarzz.com/piao/fusion/1611/59/569d3c096e542502.png",
desc: "必游榜单",
},
{
id: "0008",
imgurl:
"http://img1.qunarzz.com/piao/fusion/1611/17/4bd370f3eb1acd02.png",
desc: "演出",
},
{
id: "0009",
imgurl:
"http://img1.qunarzz.com/piao/fusion/1611/7f/b1ea3c8c7fb6db02.png",
desc: "城市观光",
},
],
};
},
computed: {
pages() {
//计算属性,名为pages,需跟v-for中的变量保持一致
const pages = []; //自定义常量,名为pages,用来保存遍历后的值
this.list.forEach((item, index) => {
//index是从0开始的,直到8,那么index/8,然后再取整,值为8个0和1个1,所以index的值只有0和1
const page = Math.floor(index / 8);
//判断pages[0],pages[1]是否有值,没有值就是初始化为空,所以就有了空数组
if (!pages[page]) {
pages[page] = [];
}
//在pages[0]和pages[1]数组中添加内容
pages[page].push(item);
});
return pages;//return pages返回的就是计算属性pages()最终的值
},
},
};
</script>
<style lang="stylus" scoped>
@import '~@/assets/styles/varibles.styl';
@import '~@/assets/styles/mixins.styl';
.icons >>> .swiper-container {
height: 0;
padding-bottom: 50%;
}
.icons {
margin-top: 0.1rem;
.icon {
position: relative;
overflow: hidden;
float: left;
width: 25%;
height: 0;
padding-bottom: 25%;
.icon-img {
position: absolute;
top: 0;
left: 0;
right: 0;
box-sizing: border-box;
padding: 0.1rem;
bottom: 0.44rem;
.icon-img-content {
display: block;
margin: 0 auto;
height: 100%;
}
}
.icon-desc {
position: absolute;
left: 0;
right: 0;
bottom: 0;
height: 0.44rem;
line-height: 0.44rem;
text-align: center;
color: $darkTextColor;
ellipsis();
}
}
}
</style>
1回答
好帮手慕夭夭
2020-12-21
同学你好,老师这边测试是有报错的,如下图所示:
根据报错,代码的问题与修改如下:
1、代码中使用到了swiperOption,但是并没有配置它。
如下设置:
2、代码中定义的是iconList,不是list。如下修改
3、图片的路径,imgurl中,u字母是小写的,不是大写的,自己定义的变量,使用的时候要细心注意一下哦。
修改上面的问题之后,图标就可以显示了,如下:
祝学习愉快~
相似问题
回答 2
回答 2