0
Я пытаюсь сделать создание моего нового объекта произошедшим в модуле bootbox. Как я могу получить доступ к this.collection внутри обратного вызова bootbox? Мне кажется, что _bind был бы полезен, но я не знаю, как это сделать.Backbone view 'this' context в bootbox
происходит следующее внутри Marionette.compositeView
create: function(evt) {
console.log('create');
evt.preventDefault();
var modal = bootbox.dialog({
title: "Nueva Seccion",
message: Module.Templates['documents/create/course/chapter/chapterModal'],
buttons: {
success: {
label: "Guardar",
className: "btn-success",
callback: function() {
var chapterNo = $('#chapterNo').val();
var chapterDesc = $('#chapterDesc').val();
var chapter = new Module.Models.Chapter({
chapterNo: chapterNo,
chapterDesc: chapterDesc,
});
var sub = new Module.Models.subChapter({});
chapter.get('subChapters').add(sub)
this.collection.add(chapter);
}
}
}
});
modal.modal('show')
},
Вы правы, «s» - это опечатка, и я не читал ее после моего предупреждения. Я собираюсь ее отредактировать – wezzy
Мысль, поэтому не беспокойтесь. Вы также можете «callback: _ (function() {...}). Bind (this)', если вы действительно хотели использовать '_.bind', или даже' callback: function() {...} .bind (это) ', если вы хотите использовать [' Function.prototype.bind'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind). –