Backbone.js 为什么在以下主干视图代码中出现未定义错误?
this.model.filterData(searchValue)转换为 未定义的.model.filterData(searchValue);在控制台中Backbone.js 为什么在以下主干视图代码中出现未定义错误?,backbone.js,Backbone.js,this.model.filterData(searchValue)转换为 未定义的.model.filterData(searchValue);在控制台中 有什么想法吗?如果您在不使用箭头函数的情况下重新编写该方法,它似乎会起作用 它失败的原因是因为Babel将按照ES6规范传输代码 var MyView = Backbone.View.extend({ name: 'MY-VIEW', doStuff: _.debounce(function() { ale
有什么想法吗?如果您在不使用箭头函数的情况下重新编写该方法,它似乎会起作用 它失败的原因是因为Babel将按照ES6规范传输代码
var MyView = Backbone.View.extend({
name: 'MY-VIEW',
doStuff: _.debounce(function() {
alert(this.name);
}, 1000)
});
var view = new MyView();
view.doStuff();
// This will alert 'MY-VIEW'
看看babel传输代码的不同之处:
此值的更多信息:
它所说的是,这个
是未定义的。您希望在该上下文中引用此
什么?请在您的答案中包含巴别塔示例,并提供链接作为参考。对不起,我正忙着这么做
var MyView = Backbone.View.extend({
name: 'MY-VIEW',
doStuff: _.debounce(function() {
alert(this.name);
}, 1000)
});
var view = new MyView();
view.doStuff();
// This will alert 'MY-VIEW'
module.exports = (() => {
// this = undefined, because module.exports is global.
return Frame.extend({
// inherits this from above, undefined
_handleArrowFunction: _.debounce(ev => {
console.log(this);
}),
_handleRegularFunction: _.debounce(function() {
console.log(this);
})
});
})