微信小程序用ID进行传参到详情页的具体流程

list(商品页面)

1、list.js

Page({

  /**
   * 页面的初始数据
   */
  data: {
    page:0,//页数
    count:6,//渲染数据的个数
    flag:false,
    ittn:[], //定义要渲染的电影列表
    id:[]
  },
 to(e){
   var cat = e.currentTarget.dataset.cat.id
   console.log(e.currentTarget.dataset.cat.id)
   wx.navigateTo({
     url: "/pages/log/log?cat="+cat,
   })
 } ,
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.getMovieList()  //改变this指向
  },
  getMovieList() {
    let url = 'https://xxxxx?xxxxxxx'
    //数据的链接地址
    this.setData({
      flag: false,
    })
    let { page, count } = this.data
    wx.request({
      url: url,
      data: {
        page,
        count
      },
      header: {
        'content-type': 'application/text'
      },
      success: (res) => {
        //  console.log(res)
        let { statusCode, data } = res;
        let { subjects } = data;
        console.log(statusCode)
        console.log(data)
        console.log(subjects)

        if (statusCode === 200) {
          this.data.ittn = data.subjects
          this.setData({
            ittn: this.data.ittn,//获取到数据并添加到新命名的数组
            page,
            flag: true
          })
        }
      }
    })
  },
  })

2、list.wxml

在这里插入代码片<view class="father">
<view class="ittn-item" wx:for="{{ ittn }}" wx:key="{{ index }}" catchtap="to" data-cat="{{item}}">
        <image src="{{ item.images.small }}"></image>
         <view clas="ittn">
            {{ item.title }}
         </view>
</view>
</view>

二、log(跳转到的详情页面)

1、log.js
   Page({

  /**
   * 页面的初始数据
   */
  data: {
    one:[]
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    console.log(options)
    let id= options.cat
     //若是获取不到数据可以用下面的这种
     //let {id}=options.cat
    console.log(id)
    this.getlist(id)  
  },
  getlist(e) {
    console.log(e)
    let url = `https://xxxxxx/subject/${e}?xxxxxx`
    //注意这里必须进行ID的拼接,才可以获取数据
    wx.request({
      url: url,
      header: {
        'content-type': 'application/text'
      },
      success: (res) => {
        let { statusCode, data } = res;
        console.log(statusCode)
        console.log(data)
        this.data.one= data
        if (statusCode === 200) {
          this.setData({
            one: this.data.one
          })
        }
      }
    })
  }
})

总结:两者获取数据的流程几乎一样,只不过跳转详情页需要进行拼接字符串,才能获取数据!

在这里插入代码片
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值