小程序云开发实战七:云开发首页列表跳转详情页_学习
 

1:实战六之中,列表页已经完成,现在新建一个详情页,打开app.json,"pages/details/details",,自动生成了一个详情页

 
小程序云开发实战七:云开发首页列表跳转详情页_学习_02
 

2:打开首页列表页代码,绑定详情按钮跳转事件
wxml:

<view wx:for="{{book_list}}">
  <van-card num="2" price="{{item.price}}" desc="{{item.author}}" title="{{item.title}}" thumb="{{item.image }}">
    <view slot="footer">
      <van-button size="mini" bind:click="viewitem">详情按钮</van-button>
    </view>
  </van-card>
</view>
 
小程序云开发实战七:云开发首页列表跳转详情页_学习_03
 

3:继续写js里面的绑定事件,在控制台打印一下event,方便后续测试

  viewitem: function(event) {
    console.log(event)
  }
 
小程序云开发实战七:云开发首页列表跳转详情页_学习_04
 

4:如何知道要跳转列表图书中的哪个详情页?要在云开发里面写一个特定的id,打开云开发控制台,数据库,需要用到这个下划线是_id的字段

 
小程序云开发实战七:云开发首页列表跳转详情页_学习_05
 

5:给这个字段设置一个值,data-id="{{item._id}}"

 
小程序云开发实战七:云开发首页列表跳转详情页_学习_06
图片.png

点击按钮,可以看到,点击不同的列表,打印的是不同的id,通过不同的id就可以看到不同的内容了。


 
小程序云开发实战七:云开发首页列表跳转详情页_学习_07
 

6:下面实现点击详情按钮跳转详情页面,看到想要的具体的内容,看完控制台,因为具体数据是来自于event,currentTarget

 
小程序云开发实战七:云开发首页列表跳转详情页_学习_08
 

所以js里面声明一下

 var id = event.currentTarget.dataset.id;
 
小程序云开发实战七:云开发首页列表跳转详情页_学习_09
 

并且写好跳转页面的跳转方法和url,带参数跳转

7:在detail.js的onLoad方法里面打印接收到的参数


 
小程序云开发实战七:云开发首页列表跳转详情页_学习_10
 

8:测试,列表界面带参数跳转成功


 
小程序云开发实战七:云开发首页列表跳转详情页_学习_11
 

分割线======分割线=======分割线=======分割线

开始写详情页的一些代码

1:初始化db的实例

const db = wx.cloud.database({});
 
小程序云开发实战七:云开发首页列表跳转详情页_学习_12
 

2:打开云函数文档里面的读取数据apihttps://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/database/read.html
复制此段读取数据记录的代码,放在onload里面

 
小程序云开发实战七:云开发首页列表跳转详情页_学习_13
 
   onLoad: function (options) {
   // console.log(options)
    db.collection('books').doc(options.id).get({
      success(res) {
        // res.data 包含该记录的数据
        console.log(res.data)
      }
    })
  },
  

可以看到,具体数据已经打印过来了


 
小程序云开发实战七:云开发首页列表跳转详情页_学习_14
图片.png

这个时候还没有将数据传递到一个具体的页面实例中


 
小程序云开发实战七:云开发首页列表跳转详情页_学习_15
 

所以,success开始改成使用箭头函数

// pages/details/details.js
const db = wx.cloud.database({});
Page({
  /**
   * 页面的初始数据
   */
  data: {

  },
  onLoad: function (options) {
    //  console.log(options)
    db.collection('books').doc(options.id).get({
      success: res => {
        console.log(res.data)
        this.setData({
          book: res.data
        })
      }
    })
  },
})

ok,进入页面的时候,可以看到appdata里面的book


 
小程序云开发实战七:云开发首页列表跳转详情页_学习_16
 

3:具体展示
在wxml里面写上想要拿到的数据,ok,详情页面展示的数据


 
小程序云开发实战七:云开发首页列表跳转详情页_学习_17
 

4:效果如下


 
小程序云开发实战七:云开发首页列表跳转详情页_学习_18
 

原文作者:祈澈姑娘
90后前端妹子,爱编程,爱运营,爱折腾。
坚持总结工作中遇到的技术问题,坚持记录工作中所所思所见,对于博客上面有不会的问题,可以加入qq群聊来问我:473819131。