2015-09-24 1 views

ответ

1

Я предполагаю, что вы настроили var _this = this; где-то, но просто забыл включить Это.

Что вы можете сделать, это использовать Function.prototype.bind (EcmaScript 5) для привязки обратных вызовов успеха и ошибок к правильному контексту.

success: function() { 
    alert(this); 
}.bind(this), 

error: function() { 
    alert(this); 
}.bind(this), 

Это поддерживается в IE9 и выше.

(Если по какой-то причине вы поддерживаете IE8 есть polyfill на странице MDN)

1

С последним backbonejs можно передать контекст с помощью опций, используя ключевое слово context и не использует никакого polyfills вообще:

this.collection.create(
    { 
     'name': this.$('.name').val() 
    }, 
    { 
     success: function() { 
      alert(this); 
     }, 
     error: function() { 
      alert(this); 
     }, 
     context: this, 
     wait: true 
    } 
); 

 Смежные вопросы

  • Нет связанных вопросов^_^