Javascript 更改“;这";主干集合的作用域。创建
我用肮脏的方式做这件事,不知道是否有更好的方式:Javascript 更改“;这";主干集合的作用域。创建,javascript,backbone.js,marionette,Javascript,Backbone.js,Marionette,我用肮脏的方式做这件事,不知道是否有更好的方式: this.collection.create( { 'name': this.$('.name').val() }, { success: function() { alert(_this); }, error: function() { alert(_this); }, wait
this.collection.create(
{
'name': this.$('.name').val()
},
{
success: function() {
alert(_this);
},
error: function() {
alert(_this);
},
wait: true
}
);
我假设您已经设置了
var\u this=this代码>某个地方,但忘了包含它
您可以使用(EcmaScript 5)将成功和错误回调绑定到正确的上下文
success: function() {
alert(this);
}.bind(this),
error: function() {
alert(this);
}.bind(this),
这在IE9及更高版本中得到了支持
(如果出于某种原因,您支持IE8,MDN页面上有一个polyfill)使用最新的backbonejs,您可以使用context
关键字通过选项传递上下文,并且根本不使用任何polyfill:
this.collection.create(
{
'name': this.$('.name').val()
},
{
success: function() {
alert(this);
},
error: function() {
alert(this);
},
context: this,
wait: true
}
);