收藏
回答

请问当前js里如何取值呢?

回答关注问题邀请回答
收藏

5 个回答

  • brave
    brave
    2020-05-21
    this.data.detail
    
    2020-05-21
    有用 3
    回复
  • 方浩源(13112383813)
    方浩源(13112383813)
    2020-05-21

    如果是套用的function可以在引用的地方写that=this.data,在function里面调用that.detail

    2020-05-21
    有用 2
    回复
  • Xavier
    Xavier
    2020-05-21
    // 需要注意 this 作用域问题,一般可以在整个函数开头:
    // let _this = this; let that = this;
    var temp = this.data.detail;
    var temp = _this.data.detail;
    var temp = that.data.detail;
    
    2020-05-21
    有用 2
    回复
  • o0o有脾气的酸奶
    o0o有脾气的酸奶
    2020-05-21
    通过setData设置的值,可以通过this.data.xxxx 取用
    
    1、注意this的作用域,最好在函数最开始设置 let t = this
    
    2、注意同步/异步的问题
    
    如:
    
    this.setData({ abc: 123 })
    
    ==========this作用域============
    
    在其他方法中取用abc
    
    test: function(){
    
      let t = this
      
      ....
      
      console.log(t.data.abc)
      
    }
    
    
    ==========同步/异步=============
    
    func1: function(){
      
      let t = this
      
      wx.request({ url: 'xxxx', success(res){
      
        t.setData({ abc: res.data })
      
      }})
      
      t.test() // test方法里的console.log(t.data.abc),有可能打印出空值,同步/异步的问题
    
    },
    
    test: function(){
    
      let t = this
      
      ....
      
      console.log(t.data.abc)
    
    }
    
    ================解决同步/异步问题=================
    func1: function(){
      let t = this
      new Promise((rs, rj)=>{
        wx.request({
          url: 'xxxx',
          success(res){
            t.setData({ abc: res.data })
            rs(res.data)
          },
          fail(e){
            rj(e)
          }
        })
      }).then(d=>{
        console.log(d) // d为res.data的值, this.data.abc中此时已经有值
        t.test() // test中的console.log(t.data.abc),不会是空值了
      })
    },
    
    test: function(){
    
      let t = this
      
      ....
      
      console.log(t.data.abc)
      
    }
    

    若认为该回答有用,给回答者点个[ 有用 ],让答案帮助更多的人

    2020-05-21
    有用 1
    回复
  • 执着奋进,筑梦同行
    执着奋进,筑梦同行
    发表于移动端
    2021-06-14
    在其他方法中使用。
    2021-06-14
    有用
    回复
登录 后发表内容
问题标签