收藏
回答

可否用全局变量给data赋值?

不知道为啥这么写不能显示出sname 感谢!


//wxml

<view bindtap='name' >{{sname}}</view>


//js

let app=getApp()



Page({

  /**

   * 页面的初始数据

   */

  data: {

    sname:app.globalData.course

  },

})

最后一次编辑于  2020-05-21
回答关注问题邀请回答
收藏

3 个回答

  • xplee
    xplee
    2020-05-21

    app.globalData.course 没有值,确认一下在这个页面加载之前,app.globalData.course是否被赋过值

    2020-05-21
    有用 1
    回复 6
    • 😬
      😬
      2020-05-21
      console.log(globalData.course)可以显示他的值
      2020-05-21
      回复
    • xplee
      xplee
      2020-05-22回复😬
      在let app = getApp()下一行直接打印看下结果呢?
      2020-05-22
      1
      回复
    • 😬
      😬
      2020-05-22回复xplee
      打印不出来
      但我在Onload里就可以打印出来
      2020-05-22
      回复
    • xplee
      xplee
      2020-05-22回复😬
      那就在onLoad里面 this.setData({sname:app.globalData.course}),你确定是app.globalData.course; 而不是globalData.course ?
      2020-05-22
      1
      回复
    • 😬
      😬
      2020-05-22回复xplee
      搞定了!谢谢
      2020-05-22
      回复
    查看更多(1)
  • 刘高艺
    刘高艺
    2020-10-28

    我也在项目中遇到这个问题,比如:设置了全局变量b,然后赋值给页面的data对象中的a,但是当全局变量b的值改变时候,a的值仍然是初始化的b的值,难道是data对象中的值不能使用变量吗?

    data:{a:app.globalData.b

    }

    2020-10-28
    有用
    回复 1
    • 双圣树下的阿尔达
      双圣树下的阿尔达
      2021-12-18
      我也遇到了和你相同的问题,请问你后面怎么解决的?
      2021-12-18
      回复
  • 猛男陈阔
    猛男陈阔
    2020-05-22

    如果值是动态的话你可以在onload里这样 this.setData({

    sname:app.globalData.course

    })

    2020-05-22
    有用
    回复
登录 后发表内容
问题标签