这里是我的被编译后的代码。其中
prevAnswer 方法中的undefined 为 源代码中的this 有谁遇到过同样的问题吗。这个方法我会在页面中的按钮进行绑定,去触发。
var app = getApp(); Page({ /** * 页面的初始数据 */ data: { askNO: 1, ask: {}, progress: 8.333, askLength: 0, answerIng: false , finish: false }, /** * 生命周期函数--监听页面加载 */ onLoad: function onLoad(options) { var questionnaire = app.globalData.questionnaire; var lastIndex = app.globalData.lastAnswerAskIndex - 1; var ask = questionnaire.askList[lastIndex == null ? 0 : lastIndex]; console.log( this ); // let that = this; this .setData({ askLength: questionnaire.askList.length, askNO: lastIndex + 1 }); // this.fullAsk(that, ask, lastIndex); }, prevAnswer: function prevAnswer(e) { console.log(e); console.log(undefined); if (undefined.data.answerIng) { return ; } // let questionnaire = app.globalData.questionnaire; // let lastIndex = --app.globalData.lastAnswerAskIndex - 1; // let ask = questionnaire.askList[lastIndex]; // this.fullAsk(this, ask, lastIndex); })} |
理解下ES6的箭头函数就知道了。
你可以写 Page({
preAnswer: function() {
this.data
}
})
...
但是
Page({
preAnswer: () => {
this === undefined
}
}