实战项目名称:仿知识星球App
技术栈:前端 => uni-app ( 后端:Node.js + Mysql + Apollo + Graphql )
已实现功能:微信登录,创建星球,内容管理,星球管理
项目git地址:请点击访问

项目最终效果图:@点击访问效果图,欢迎关注收藏订阅专栏!!!

  • 文章会先按照 ① uni-app端 、 ② Node.js后端 、③ 微信小程序、④ 利用宝塔面板部署项目;先后顺序更新文章。

文章目录

  • 一、今日实战目标
  • 二、实战步骤
    • 1. 导入懒加载插件
    • 2.引入插件
    • 3. 封装列表组件
  • 总结

提示:该项目只用于个人实战,不应用于任何商业用途。

一、今日实战目标

  • 实现图片懒加载
  • 封装首页列表组件

二、实战步骤

1. 导入懒加载插件

git项目地址更新后,插件也在里面

2.引入插件


<script>import lazyLoad from '@/uni_modules/muqian-lazyLoad/components/muqian-lazyLoad/muqian-lazyLoad.vue'export default {name: "index-card",props: {data: Object},components: {lazyLoad},data() {return {imgurl:'https://center.foshanlepin.com/upload/group/'};},methods:{}}
</script>

3. 封装列表组件

  • ① 将复用的组件封装成组件
//组件代码
<template><view class="index-card"><view><lazyLoad :src="imgurl+data.logo" class="flex poster" height="156px" borderRadius="8px 8px 0 0" mode="scaleToFill"></lazyLoad><view class="card-bottom space-between" v-if="data.userinfo"><view class="left col full"><text class="title text-overflow text-overflow1">{{data.name}}</text><text class="label text-overflow text-overflow1">{{data.userinfo.username}}</text></view><view class="hor-end"><image class="stamp" :src="data.userinfo.headimg" mode=""></image></view></view></view></view>
</template><script>import lazyLoad from '@/uni_modules/muqian-lazyLoad/components/muqian-lazyLoad/muqian-lazyLoad.vue'export default {name: "index-card",props: {data: Object},components: {lazyLoad},data() {return {imgurl:'https://center.foshanlepin.com/upload/group/'};},methods:{}}
</script><style scoped>.index-card {width: 100%;height: 223px;}.poster {width: 100%;height: 156px;border-radius: 8px 8px 0 0;}.card-bottom {width: 100%;border-radius: 0px 0px 8px 8px;background: #F5F6F6;height: 60px;padding: 8px 8px 10px 8px;}.title {max-width: 120px;font-size: 15px;font-weight: normal;line-height: 20px;letter-spacing: 0px;color: rgba(0, 0, 0, 0.8);}.label {max-width: 100px;font-size: 12px;font-weight: normal;line-height: 20px;letter-spacing: 0px;color: rgba(0, 0, 0, 0.5);}.stamp {width: 24px;height: 24px;border-radius: 50%;}
</style>
  • ② 在首页中使用
// 先引用插件
import Card from '@/components/index-card/index-card.vue'// 请求后台api,遍历list数组
<view class="grid"><view class="" v-for="(item,index) in list" :key="index"><view class="" @click="details(item)"><Card :data="item" /></view></view>
</view>

做完这几步,接通api后就可以实现图片列表懒加载


总结

由于项目目前在对接后台api中,项目git地址:请点击访问,大家可以去clone下来借鉴下;

  • 温馨提示:
  1. 项目仅用于个人实战,设计图和架构是自己基于知识星球APP进行设计的,算得上是入门级的uni-app,后期会更新一个企业级uniapp项目
  2. 我是在空闲中写写博客,并没有很规范,欢迎在评论区留下你的建议与意见。
  3. git项目拷贝下来的代码有不懂的,可以截图私信给我,看到会回复你,希望可以帮助到你了解和开发uniapp。

uniapp实战项目 (仿知识星球App) - - 实现图片懒加载相关推荐

  1. uniapp实战项目 (仿知识星球App) - - 配置开发工具和全局css样式

    实战项目名称:仿知识星球App 技术栈:前端 => uni-app ( 后端:Node.js + Mysql + Apollo + Graphql ) 已实现功能:微信登录,创建星球,内容管理, ...

  2. uniapp实战项目 (仿知识星球App) - - 自定义顶部导航栏和登录弹窗组件

    实战项目名称:仿知识星球App 技术栈:前端 => uni-app ( 后端:Node.js + Mysql + Apollo + Graphql ) 已实现功能:微信登录,创建星球,内容管理, ...

  3. uniapp实战项目 (仿知识星球App) - - 效果篇

    实战项目名称:仿知识星球App 技术栈:前端 => uni-app ( 后端:Node.js + Mysql + Apollo + Graphql ) 已实现功能:微信登录,创建星球,内容管理, ...

  4. uniapp实战项目 (仿知识星球App) - - 引入uView框架

    实战项目名称:仿知识星球App 技术栈:前端 => uni-app ( 后端:Node.js + Mysql + Apollo + Graphql ) 已实现功能:微信登录,创建星球,内容管理, ...

  5. uniapp实战项目 (仿知识星球App) - - tabBar配置

    实战项目名称:仿知识星球App 技术栈:前端 => uni-app ( 后端:Node.js + Mysql + Apollo + Graphql ) 已实现功能:微信登录,创建星球,内容管理, ...

  6. uniapp实战项目 (仿知识星球App) - - 利用computed监听用户操作

    实战项目名称:仿知识星球App 技术栈:前端 => uni-app ( 后端:Node.js + Mysql + Apollo + Graphql ) 已实现功能:微信登录,创建星球,内容管理, ...

  7. uniapp实战项目 (仿知识星球App) - - 封装组件

    实战项目名称:仿知识星球App 技术栈:前端 => uni-app ( 后端:Node.js + Mysql + Apollo + Graphql ) 已实现功能:微信登录,创建星球,内容管理, ...

  8. Vue3电商项目实战-首页模块7【26-首页主体-商品区块、27-首页主体-最新专题、28-首页主体-图片懒加载】

    文章目录 26-首页主体-商品区块 27-首页主体-最新专题 28-首页主体-图片懒加载 26-首页主体-商品区块 目的: 完成商品区域展示. 大致步骤: 准备一个商品盒子组件 home-goods ...

  9. uni-app 图片懒加载

    uni-app 图片懒加载 功能 实现图片懒加载,并且显示数组中,始终只有3张图片,上下滑动增加的同时,删除最开始的那一张.可以指定从总图片的第几张开始加载. 思路 要实现上下滑动时的动画效果,我这里 ...

最新文章

  1. java 编写线程公共类_002-java多线程工具类
  2. PHP和Node.js开发之间有什么区别
  3. python 且_Pyface库:一个基于pyqt、pyside、wx且简化的python的GUI
  4. hive udaf_Hive自定义函数
  5. throw和throws有什么区别
  6. web安全day20:今天讲清楚漏洞和木马的区别,最后一个实验演示通过445端口控制服务器
  7. HDU 4983 Goffi and GCD(数论)
  8. mysql .pem 文件_对于https ssl中的pem文件和key 文件的理解
  9. xps13 9360黑苹果
  10. LAB、HSB、RGB和CMYK色彩模式简介
  11. 360极速浏览器兼容模式
  12. Temporal Action Detection with Multi-level Supervision UFA论文阅读笔记
  13. watchOS7.2新增“心适能功能” 监测和分类心肺适能水平
  14. app对于接口返回数据的容错测试(健壮性测试)
  15. python中的try语句
  16. 串口发送程序linux,单片机IO口模拟串口程序(发送+接收
  17. RALL机制的线程锁
  18. c语言switch例题考试成绩,使用C语言switch语句根据考试成绩等级输出百分制的分数段,规定如下: A:85~100 B:70~84 C:60~69 D:60...
  19. 微信开发之小程序的页面布局
  20. Jetpack Compose——remember、mutableStateOf、rememberSaveable

热门文章

  1. CNN情感分析(文本分类)
  2. go标准包time的格式化format
  3. W5500连接成功后,为什么一发送数据就会断开连接?
  4. 无人驾驶飞机系统 (UAS)可为核电站事故等应急救援工作创建范例
  5. 大数据 - 文本文件数据提取工具之一 基础篇常见文本格式
  6. python2 正则匹配中文汉字数字字母
  7. android 4g lte,Turn on 4G LTE Settings | 4G Mobile Network | csl
  8. 数据预处理以及探索性分析(EDA)
  9. linux_信号_sigemptyset函数-sigfillset函数-sigaddset函数-sigdelset函数-sigismember函数-sigprocmask函数-sigpending函数
  10. MUI浮动屏幕,苹果5s,苹果6s地址列表页面不显示