Ответ 1
Чтобы ответить на ваш первый вопрос, no, .add
не вызовет никакого вызова на сервер; он добавит только модель в коллекцию.
Однако у вас есть пара вариантов. Можно было бы создать новую модель заметок, сохранить ее в базе данных и затем добавить ее в коллекцию:
newNote: function(data) {
var note = new Note(data);
note.save();
this.collection.add(note);
}
Второй вариант состоит в том, чтобы просто использовать Backbone collection.create method. Дайте ему хэш атрибутов, и он будет
- Создайте модель
- Сохранить его в базе данных
- Добавьте его в коллекцию
Все одним махом, вот так:
newNote: function(data) {
return this.collection.create(data);
}
collection.create
также возвращает вновь созданную модель, проиллюстрированную приведенным выше оператором return.