微信小程序(四):通过list列表跳转详情页

1.难点:怎么知道用户点击的是list中的哪一条数据?

方法一:在template外for循环里通过for循环的index获取

将index赋值到data-studentId,data-后面的变量名是不区分大小写的,获取值的时候只能用小写获取。

 控制台根据我点击打印出来的index:

方法二:在template里通过for循环的index获取(与方法一类似,只是catchtap和data-studentId属性的位置不同)

控制台根据我点击打印出来的index:

方法三:在js中手动添加index属性

 控制台根据我点击打印出来的index:

 2.目标:页面跳转获取index对应的数据详情

(1) 新建详情文件夹

(2) 页面跳转传参

(3) 获取参数和数据

(4) 渲染数据

 

 (5)运行结果

3.完整代码。templateStudy和student-item文件夹里的完整代码在“微信小程序(三)”中有,此处只展示studentDetail文件夹里的代码。

本地数据库:

var local_database = [
  {
    username:"小红",
    classname:"三(8)班",
    Sno:"777",
    address:"武汉长江大桥",
    tel:18162738765,
    sex:"女"
  },
  {
    username: "小名",
    classname: "三(8)班",
    Sno: "666",
    address: "武汉长江二桥",
    tel: 18162738765,
    sex: "女"
  },
  {
    username: "小花",
    classname: "三(8)班",
    Sno: "888",
    address: "武汉黄鹤楼",
    tel: 18162738765,
    sex: "女"
  },
]

module.exports = {
  studentsList: local_database
}

studentDetail.wxml

<view class='container'>
  <label class='oneItem'>姓名:{{studentData.username}}</label>
  <label class='oneItem'>班级:{{studentData.classname}}</label>
  <label class='oneItem'>学号:{{studentData.Sno}}</label>
  <label class='oneItem'>性别:{{studentData.sex}}</label>
  <label class='oneItem'>电话:{{studentData.tel}}</label>
  <label class='oneItem'>家庭住址:{{studentData.address}}</label>
</view>

 studentDetail.wxss

.oneItem{
  flex-direction: row;
  display: flex;
}

studentDetail.js

var postsData = require('../../../data/students.js')

Page({

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

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    var studentId = options.id;
    var studentData = postsData.studentsList[studentId];
    this.setData({
      studentData: studentData
    });

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
    
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
    
  }
})

 

  • 4
    点赞
  • 84
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值