微信小程序项目,实现图书列表渲染,以及图书详情跳转

今天实现了业务中最常见的列表到详情的功能,做一个总结归纳,方便自己以后温习

两个页面分别要实现如下设计稿的视图

在开始之前首先复习一下es6 promise的用法,之前一直听说过promise的用法,但一直没有实战过

首先写一个小DEMO,使用promise打印出微信小程序的当前系统信息

接着开始自己的项目,复制一个HTTP.js叫_HTTP,把原先的先保留着预防出问题,_HTTP.js模块新建一个函数,把封装好的老的方法进行完善再套用进去

和之前一样,在book页面获取页面数据的方法模块中扩展这个HTTP对象,并添加两个方法用于从服务器获取图书列表,和我喜欢的图书数量

这样就可以在Book列表页中引入这个模块

 在onload函数中通过这个对象的方法,把 从服务器获取到的图书列表,图书数量存储到页面data中

 新建一个BOOK组件,储存单条BOOK数据

在books页面中写wxml,把数据使用wx:for进行循环,把遍历出来的每一项item赋值给book这个组件暴露给父组件接受数据的变量,再到子组件通过book.properties进行渲染

 

到此再加上样式列表页的渲染就做完啦,搜索页面之后再做

 接着需要通过点击每个图书跳转到相应的图书详情页面里去:

首先在单个book组件js新增一个点击方法,获取到保存在每个组件上ID号作为参数

接着分析图书详情页所需要的数据,把获取数据的方法封装到自己的模块中

 

在book-detail的js文件中,初始化页面数据

 

在给图书详情页绑定数据的时候发现图书短评同样也需要做成一个组件复用

新建tag组件,这个组件比较重要的一个思想是使用了插槽,插槽非常的灵活。使用插槽可以让组件内部的某一块元素让组件的调用方来决定(数据和样式)

使用插槽的同时需要在组件js中不光定义组件属性为一个字符串,还需要开启插槽

给第一第二条短评添加css hack:

猜你喜欢

转载自www.cnblogs.com/rmty/p/10919963.html