使用this.data还是this.setData对themes赋值,test里获取不到想要的值

使用this.data还是this.setData对themes赋值,test里获取不到想要的值

Page({

  data: {
    themeA:null,
    bannerB:null,
    grid:[],
    activityD:null,
    themes:[]

  },

  onLoad:async function (options) {
   this.initAllData();
   this.test();  
  },

 async initAllData(){
    // const themeA = await Theme.getHomeLocationA();
    const themes = await Theme.getThemes();
    // this.data.themes = themes;
    // console.log(this.data.themes)
    const themeA = themes.find(v=>v.name === 't-1')
    const themeE = themes.find(v=>v.name === 't-2')
    const bannerB = await Banner.getHomeLocationB();
    const grid = await Category.getHomeLocationC();
    const activityD = await Activity.getHomeLocationD();
      this.setData({
        themeA,
        bannerB,
        grid,
        activityD,
        themes
      })
  },

  test(){
    console.log(this.data)
    console.log(this.data.themes)
  }

http://img1.sycdn.imooc.com//climg/5f71ec38096c63d218770892.jpg

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
提问者 慕婉清644119 2020-09-30 16:25:03

在1处调用test方法,可以获得this.data.themes的值,在2处调用就获取不到,这是为什么

http://img1.sycdn.imooc.com//climg/5f7440d8094ad1b212750870.jpg

7七月 2020-09-29 00:38:33

啥意思?麻烦详细描述下

  • 提问者 慕婉清644119 #1
    在home.js页面里不管是用this.data.themes = themes,还是使用this.setData对themes赋值,在test方法中,this.data.themes始终为null
    2020-09-29 13:46:32
  • 7七月 回复 提问者 慕婉清644119 #2
    加上await调用试试
    2020-09-29 19:58:23
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师