nvue获取页面数据_6-2【微信小程序全栈开发课程】记录页面(二)--获取记录数据...

本文介绍了如何在nvue页面中获取并显示记录数据。首先,通过添加data变量来保存记录数据,接着引入get工具函数。然后,定义getRecords方法用于获取记录,并在onShow生命周期中调用。后端部分,创建getrecords.js操作文件,添加读取records表的路由,最后测试数据显示从后台成功获取了记录数据。
摘要由CSDN通过智能技术生成

eea3354a9effa130dc1d32dc2582e6e2.png

1、添加data变量

添加records变量,用来保存记录数据

data () {
  return {
    show_record:false,
    userinfo:{},
    records:[],
  }
},

2、引入get工具函数

//参考代码,无需粘贴
//<script>


//需要添加的部分
import {get} from '@/util'

3、添加获取记录方法

在record.vue文件中添加getRecords方法,用来获取记录数据

//参考数据,无需粘贴
//data () {
  //...
//},


//需要添加的部分
methods:{
  async getRecords () {
    //调用后台数据时显示「加载中」提示框
    wx.showToast({
      title: '加载中',
      icon: 'loading'
    })
    //需要传到后台的数据
    const data = {
      openid: this.userinfo.openId,
    }
    //将后台传过来的数据保存到records变量中
    const records = await get('/weapp/getrecords', data)
    this.records = records.records
    console.log("从后台返回的记录数据:",this.records)
    //通过records数组的长度来判断show_record变量为false或者true
    if(this.records.length === 0){
      this.show_record = true
    }else{
      this.show_record = false
    }
    wx.hideToast()
  }
},


//参考数据,无需粘贴
//onShow () {

4、自动加载getRecords方法

编辑record.vue文件,在onShow小程序生命周期调用getRecords方法,这样每次切换到记录页面,会更新说有的记录

//onShow () {
  //const userinfo = wx.getStorageSync('userinfo')
  //if(userinfo.openId){
    //this.userinfo = userinfo
  //}


  //需要添加的部分
  this.getRecords()

5、在后端添加路由

(1)创建操作文件getrecords.js

先在后端server/controllers文件夹中创建操作文件getrecords.js

在操作文件中实现:读取records数据表中的所有记录

(2)添加路由

在路由管理文件server/routes/index.js文件中添加路由

//需要添加的代码
router.get('/getrecords', controllers.getrecords)


//参考代码,无需粘贴
//module.exports = router

6、编辑后端操作文件

编辑getrecords.js文件,读取records数据表中的所有记录

const {mysql} = require('../qcloud')

module.exports = async (ctx) => {
  const {openid} = ctx.request.query
  try{
    const records = await mysql('records')
                              .select('id','add','mark','note','create_time')
                              .where("openid",openid)
                              .orderBy('id','desc')
    // 执行成功返回的数据
    ctx.state.data = {
      records
    }
  }catch(e){
    // 执行失败返回的数据
    ctx.state = {
      code: -1,
      data: {
        msg: '获取失败' + e.sqlMessage
      }
    }
  }
}

7、测试数据

保存修改的文件,打开微信开发者工具,切换到记录页面,控制台会出现下面信息,这就是从后台传回来的记录数据

708ebf58c9a2ca0c8b40a28c1e978759.png
作者:猫宁一 95后全栈程序媛₍ᐢ •⌄• ᐢ₎一枚~ 热爱学习!热爱编程!
可关注【猫宁一】公众号领取我所有全栈项目代码哦~ 点击查看课程目录:微信小程序全栈开发课程目录
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值