六十七、完成Vue项目首页图标区域布局和逻辑实现
【摘要】
2020/10/23、 周五、今天又是奋斗的一天。
@Author:Runsen @Date:2020/10/23
写在前面:我是「Runsen」,热爱技术、热爱开源、热爱编程。技术是开源的、知识是共享的。大四弃算法转前端,需要每天的日积月累, 每天都要加油!!!
今天将完成Vue项目去哪儿网首页图标区域逻辑实现,下面是在本次慕课网完成V...
2020/10/23、 周五、今天又是奋斗的一天。 |
@Author:Runsen
@Date:2020/10/23
写在前面:我是「Runsen」,热爱技术、热爱开源、热爱编程。技术是开源的、知识是共享的。大四弃算法转前端,需要每天的日积月累, 每天都要加油!!!
今天将完成Vue项目去哪儿网首页图标区域逻辑实现,下面是在本次慕课网完成Vue项目去哪儿网首页图标区域逻辑实现的总结和感受。
创建分支
在码云项目中,创建一个新的分支index-icons
。
然后通过git pull
和git checkout index-icons
进行图标区域功能的开发。
在Home.vue导入Icons组件
Icons.vue
<template>
<div class="icons"> <swiper> <!-- pages指的是计算属性 --> <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必须是函数 ES6 data后面有空格
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/1711/df/86cbcfc533330d02.png', desc: '滑雪季' }, { id: '0006', imgUrl: 'http://img1.qunarzz.com/piao/fusion/1711/df/86cbcfc533330d02.png', desc: '滑雪季' }, { id: '0007', imgUrl: 'http://img1.qunarzz.com/piao/fusion/1710/a6/83f636bd75ae6302.png', desc: '泡温泉' }, { id: '0008', imgUrl: 'http://img1.qunarzz.com/piao/fusion/1611/35/2640cab202c41b02.png', desc: '动植园' }, { id: '0009', imgUrl: 'http://img1.qunarzz.com/piao/fusion/1611/a9/ffc620dbda9b9c02.png', desc: '一日游' }] }
},
// 计算属性
computed: { pages () { const pages = [] // forEach遍历iconList,计算page页数 this.iconList.forEach((item, index) => { const page = Math.floor(index / 8) // 这里的pages是两级数组 if (!pages[page]) { pages[page] = [] } pages[page].push(item) }) return pages }
}
}
</script>
<style lang="stylus" scoped>
@import '~styles/varibles.styl'
@import '~styles/mixins.styl'
.icons >>> .swiper-container height: 0 padding-bottom: 50%
.icon position: relative float: left width: 25% height: 0 padding-bottom: 25% .icon-img position: absolute top: 0 left: 0 right: 0 bottom: .44rem box-sizing: border-box padding: .1rem .icon-img-content display: block margin: 0 auto height: 100% .icon-desc position: absolute left: 0 right: 0 bottom: 0 height: .44rem line-height: .44rem text-align: center color: $darkTextColor ellipsis() //ellipsis这里是限制字体的描述的
</style>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
推送
完成功能需求后,推送到对于的分支,在回到主分支,将开发的分支合并的主分支中,再提交代码到仓库。
在本次课程中,学到使用Vue.js devtools插件
参考课程:慕课网Vue2.5->2.6->3.0 开发去哪儿网App 从零基础入门到实战项目开发
请一键三连!!!!! |
文章来源: maoli.blog.csdn.net,作者:刘润森!,版权归原作者所有,如需转载,请联系作者。
原文链接:maoli.blog.csdn.net/article/details/109250031
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)