//Model
var Task = Backbone.Model.extend({
initialize: function(){
console.log("New Task initialized");
}
});
//Kolekcja
var TaskCollection = Backbone.Collection.extend({
model: Task
});
Naturalnie musimy teraz zainicjować kolekcję:
W kolejnym kroku zmodyfikujemy zadeklarowaną w poprzednim tutku instancję widoku, wstrzykując do niej nasz obiekt kolekcji zadań:
//Instancja Kolekcji var tasks = new TaskCollection();
W kolejnym kroku zmodyfikujemy zadeklarowaną w poprzednim tutku instancję widoku, wstrzykując do niej nasz obiekt kolekcji zadań:
//Instancja widoku
taskedit = new TaskEditView({
el: 'body',
collection: tasks
});
Teraz gdy mamy do dyspozycji w widoku obiekt kolekcji, możemy już nią swobodnie manipulować. Na początek zadbamy o uzupełnianie kolekcji o nowe zadania:
//klasa widoku listy zadań
$(function() {
TaskEditView = Backbone.View.extend ({
initialize: function() {
console.log('Initializing task list view');
},
events: {
"click #addTask" : "showPrompt"
},
showPrompt: function() {
var taskName = prompt("Co chcesz dziś zrobić?");
this.createNewTask(taskName);
},
createNewTask: function(taskName) {
var taskItem = new Task({
name: taskName
});
this.collection.add(taskItem);
console.log(this.collection.toJSON());
}
});
Na końcu metody showPrompt dodaliśmy wywołanie createNewTask, która uzupełni kolekcję. Służy do tego metoda add kolekcji, jako parametr podajemy model. W tym celu stworzyliśmy instancję klasy Task, wstrzykując w nią podane przez użytkownika zadanie. Na końcu metody w celach szkoleniowych zapisujemy w konsoli Jsonową reprezentację kolekcji.
Teraz gdy podamy dwa kolejne zadania jako "Napisać kolejny odcinek tutka" i "Skosić trawnik", na konsoli wyświetli się :
Initializing task list view
New Task initialized
[Object { name="Napisać kolejny odcinek tutka"}]
New Task initialized
[Object { name="Napisać kolejny odcinek tutka"}, Object { name="Skosić trawnik"}]
cdn...Wszystkie kody z tego tutka są dostępne publicznie w repo bitBucket:
git clone https://bitbucket.org/gmotyl/backbone_tutorial.git
git clone git@bitbucket.org:gmotyl/backbone_tutorial.git
Brak komentarzy:
Prześlij komentarz