当前位置: 首页 > news >正文

烟台网站建设网站推广国家设计师资格证书

烟台网站建设网站推广,国家设计师资格证书,新公司成立建设网站,wordpress使用个人写的页面目录 一、定义请求参数对象二、获取商品列表数据三、渲染商品列表结构四、把商品item封装为自定义组件五、使用过滤器处理价格六、上拉加载更多七、下拉刷新八、点击商品item项跳转到详情页面 这章主要完成商品列表页面的编写#xff1a;位于subpkg分包下的goods_list页面 一… 目录 一、定义请求参数对象二、获取商品列表数据三、渲染商品列表结构四、把商品item封装为自定义组件五、使用过滤器处理价格六、上拉加载更多七、下拉刷新八、点击商品item项跳转到详情页面 这章主要完成商品列表页面的编写位于subpkg分包下的goods_list页面 一、定义请求参数对象 先看一下我们需要用到的后端api接口商品列表搜索 返回结果 现在开始写前端因为向后端发送请求需要4个参数所以我们可以先封装一个对象 scriptexport default {data() {return {// 请求参数对象queryObj: {// 查询关键字query: ,// 商品分类idcid: ,// 页码值pagenum: 1,// 每页显示多少条数据pagesize: 10,}};},onLoad(options) {// 将页面参数转存到 this.queryobj对象中this.queryObj.query options.query || this.queryObj.cid options.cid || }} /script二、获取商品列表数据 3.在methods中定义getGoodsList方法 methods: {// 获取商品列表方法async getGoodsList() {const {data : res} await uni.request({url: https://api-hmugo-web.itheima.net/api/public/v1/goods/search,data: this.queryObj,method: GET,})if (res.meta.status ! 200) {return uni.showToast({title: 数据请求失败,duration: 1500,icon: none,})}this.goodsList res.message.goodsthis.total res.message.total}}三、渲染商品列表结构 在页面通过v-for指令渲染出商品的UI结构 templateviewview classgoods-listblock v-for(goods, i) in goodsList :keyiview classgoods-item!--左侧盒子--view classgoods-item-leftimage :srcgoods.goods_small_logo classgoods-pic/image/view!--右侧盒子--view classgoods-item-right!--商品名字--view classgoods-name{{goods.goods_name}}/viewview classgoods-info-boxview classgoods-price${{goods.goods_price}}/view/view/view/view/block/view/view /template美化ui style langscss.goods-item{display: flex;padding: 10px 5px;border-bottom: 1px solid #F0F0F0;.goods-item-left{margin-right: 5px;.goods-pic{width: 100px;height: 100px;display: block;}}.goods-item-right{display: flex;flex-direction: column;justify-content: space-between;.goods-name{font-size: 13px;}.goods-info-box{.goods-price{color: #C00000;font-size: 16px;}}}}/style查看界面首页分类页随便点一个进去看 四、把商品item封装为自定义组件 创建my-goods自定义组件 将从block下开始的UI全部抽取出来style也同理复制到新组件my-goods统一管理并调用my-goods自定义组件 my-goods组件不同点定义一个props用于接受参数 templateview classgoods-item!--左侧盒子--view classgoods-item-leftimage :srcgoods.goods_small_logo classgoods-pic/image/view!--右侧盒子--view classgoods-item-right!--商品名字--view classgoods-name{{goods.goods_name}}/viewview classgoods-info-boxview classgoods-price${{goods.goods_price}}/view/view/view/view /templatescriptexport default {name: my-goods,props: {goods: {type: Object,default: {}}},data() {return {};}} /scriptstyle langscss.goods-item{display: flex;padding: 10px 5px;border-bottom: 1px solid #F0F0F0;.goods-item-left{margin-right: 5px;.goods-pic{width: 100px;height: 100px;display: block;}}.goods-item-right{display: flex;flex-direction: column;justify-content: space-between;.goods-name{font-size: 13px;}.goods-info-box{.goods-price{color: #C00000;font-size: 16px;}}}} /style封装完成也能正常展示页面 五、使用过滤器处理价格 六、上拉加载更多 1.打开项目根目录中的pages.json配置文件为subPackages分包中的goods_list 页面配置上拉触底的距离 2.在goods_list页面中和methods节点平级声明onReachBottom事件处理函数用来监听页面的上拉触底行为 onReachBottom() {// 让页面值自增this.queryObj.pagenum// 重新获取列表数据this.getGoodsList()}3.改造methods中的getGoodsList函数当请求成功之后进行新旧数据的拼接处理 上拉页面就可以加载后面页码的内容数据获取之前无法展示的数据了。 这里存在一些问题需要解决 当我们一直往下滑动请求数据时会频繁的向我们后台发送请求获取数据可能我们第二页还没加载完就在发送第五页数据请求了。 所以我们需要等待第二页数据完后续的请求都不能发起这样才比较合理 我们可以通过开启节流阀防止发起额外的请求 在请求数据前后打开关闭节流阀 在触发触底事件时要判断节流阀是否开启 还有个bug当我们页面加载完时再上拉获取数据还是会发送新的页面请求但实际我们后台的pagenum已经到最后一页只有3页数据但在发送第四页请求所以我们还要判断数据是否获取完毕 解决这个问题也很简单 这样就比较合理数据加载完不会发送新数据再去获取列表 七、下拉刷新 enablePullDownRefresh表示开启当前页面的下拉刷新功能 2.监听页面的onPullDownRefresh事件如果发生下拉事件刷新数据与methods平级创建 onPullDownRefresh() {// 重置关键数据this.queryObj.pagenum 1this.total 0this.isloading falsethis.goodsList []// 重新发起数据请求this.getGoodsList(() uni.stopPullDownRefresh())}3.修改getGoodsList函数接受cb回调函数并按需进行调用 上拉刷新重置我们之前发送的请求比如之前如果向下获取过第二页第三页数据就没了只有第一页 八、点击商品item项跳转到详情页面 前面做过很多了很简单 点击成功跳转
http://www.pierceye.com/news/472402/

相关文章:

  • 万网 网站建设合同最好的网站开发语言
  • 网站备案密码收不到典当 网站
  • 东莞网站建设推广服务网站建设开票单位
  • 贵港公司做网站东莞凤岗企业网站建设推广
  • 网站制作过程中碰到的问题微信怎么做链接推广产品
  • 做网站留后门是怎么回事视频网站开发需求分析
  • 关于做网站的了解点电子商务应用平台包括哪些
  • 垂直门户网站都有什么网站首页index.html
  • wordpress网站加载效果线上推销的方法
  • 网站都有什么语言杭州网络营销公司
  • 济南高新网站制作正规seo排名外包
  • 网站方案讲解技巧ppt的免费网站
  • 个人网站名称有哪些WordPress dux修改
  • 普法网站建设方案app制作开发公司怎么收费
  • 网站平台建设哪家公司好网站建设建站在线建站
  • 龙岗区住房和建设局在线网站网站如何做团购
  • 河南省建设监理协会网站证书查询wordpress 修改链接
  • 做网站业务员怎么样深圳福田最新新闻事件
  • 衡水商城网站建设外贸汽车配件做那个网站
  • 做网站的色彩搭配的小知识群艺馆网站建设方案
  • 深圳 汽车网站建设学习网站建设培训
  • 制作手机网站用什么软件唐山网站专业制作
  • 网站后台如何登陆互联网营销中心
  • 做排行榜的网站知乎长沙服务好的网络营销
  • 做网站猫要做端口映射吗太原网站建设口碑推荐
  • 新闻门户网站是什么快速搭建网页
  • 随意设计一个网站域名是什么?
  • 找人做网站需要准备什么材料用视频做网站背景
  • 大连做网站首选领超科技wordpress注册邮件发送设置
  • 西山区城市建设局网站如何做防水网站