微信小程序Component組件調用回調函數this指向不是本頁面


在微信小程序中如果在Component中寫回調函數, 那么this的指向是undefined

 

Component({
  /**
   * 組件的屬性列表
   */
  properties: {

  },

  /**
   * 組件的初始數據
   */
  data: {

  },

  /**
   * 組件的方法列表
   */
  methods: {

    getData(callback) {

          if (callback) {
            callback();
          }

    },
    funcA () {
        console.log(this)  //這里的this不是指向Component實例
    },

  
  },

  lifetimes: {
    attached: function() {
      this.getData(this.funcA)
    },

  },
});
       

 

 

解決辦法: 在調用回調函數的時候使用箭頭函數

 

Component({
  /**
   * 組件的屬性列表
   */
  properties: {

  },

  /**
   * 組件的初始數據
   */
  data: {

  },

  /**
   * 組件的方法列表
   */
  methods: {

    getData(callback) {

          if (callback) {
            callback();
          }

    },
    funcA () {
        console.log(this)  //這里的this不是指向Component實例
    },

  
  },

  lifetimes: {
    attached: function() {
      this.getData(()=> this.funcA())
    },

  },
});

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM