收藏
回答

小程序this 指向

由于业务代码太复杂,简单来说就说我需要在我映入的tools.js文件中使用setData这个方法;

目前有两种方法

1:把this赋值给that,把that当参数传入;

2:通过call,apply改变方法的this指向;

如下列两个我简化了的例子;

这两种方法的区别在哪里,那种比较好;(原谅我是小白)

求大神给我分析分析

page.js , tools.js

var tools = require("tools.js");
Page({
    data:{
         a: 12,
    },
    setData1:(e){
         let that = this;

         tools.setData1('aaaaaa', that);

    },

  setData2:(e){
         let that = this;

        tools.setData1.call(that, 'bbbbbb');

    }



})


在tools.js

module.exports = {

   setData1: function(text, that){

        that.setData({a: text})

   },

   setData2: function(text){

        let that = this;

        that.setData({a: text})

   },


}


回答关注问题邀请回答
收藏
登录 后发表内容