微信小程序之setData()关于this的小问题

      注:微信小程序没有修改后自动保存功能,所以每次修改后记得保存(Ctrl+S),否则会报错

     this.setData(key,value)是当前对象把value赋值给key

  btnclick: function () {
    // console.log(this.data.express)
    var thispage=this;              //在最开始先把最初的this对象保存一份给thispage,this只想当前页面,如果包含更深层次,this就指不到外面去了
    app.getexpressinfo(this.data.express, function (data) {
      console.log(data)
      thispage.setData({view:data})
    });
  },

  input: function (e) {
    this.setData({ express: e.detail.value })
  }

  btnclick方法中第一次this指向了api接口对象(调用getexpressinfo函数),返回获取的值,然后又通过this把值赋给外层的view,所以会产生指意不明,因此,先把外层的当前对象复制一份给thispage,才可以使用setData

      input方法则不需要

        

posted @ 2017-07-15 15:27  一枚小菜鸟  阅读(1412)  评论(0编辑  收藏  举报