Я пытаюсь добавить новые модели в коллекцию (на этот раз я не сохраняю на сервере, просто делаю это в памяти). У меня есть код ниже:Добавление новых моделей в базовую коллекцию, а не замену
$(function() {
//Model
var Story = Backbone.Model.extend({
defaults: {
'title': 'This is the title',
'description': 'Description',
'points': 0
},
url: '/'
});
//Collection
var Stories = Backbone.Collection.extend({
model: Story,
url: '/'
});
//View
var BaseView = Backbone.View.extend({
el: $('#container'),
events: {
'click .inner': 'onClickInner'
},
onClickInner: function() {
this.options.x++;
this.story.set({
'title': 'This is my collection test ' + this.options.x,
'description' : 'this is the description'
});
this.stories.add(this.story);
this.render();
},
initialize: function() {
this.stories = new Stories();
this.story = new Story();
},
render: function(){
console.log(this.stories);
}
});
//Initialize App
var app = new BaseView({
'x' : 0
});
});
Мой вопрос заключается в этом, каждый раз бежит «onClickInner», я хочу, чтобы добавить новую модель в коллекции. Однако, в моем коде это заменяет.Существует модель в коллекции. Как добавить новые модели и не заменить их?
Спасибо за ваше время.
Это исправляет проблему, спасибо. Я смутился тем, что делал метод «set» на модели. Я думал, что создаю новый экземпляр модели и добавлю ее в коллекцию. – CarbonDry
Подождите, если я передам данные, подобные приведенным выше, в мою коллекцию, в чем смысл использования модели? Разве это не делает модель полностью избыточной, поскольку я написал ее выше? – CarbonDry
Если вы не планируете использовать модель, вы можете ее удалить. –