С вами очередной, 19ый выпуск скринкаста о веб разработке на backbone.js. Сегодня мы научимся создавать кастомные события, создадим глобальный объект, который унаследует все свойства Backbone.Events и узнаем, как передавать обработку событий из одной сущности в другую.
Подробности – в видео, а вот результат наших стараний:
(function() {
window.App = {
Models: {},
Collections: {},
Views: {},
Router: {}
};
var vent = _.extend({}, Backbone.Events);
App.Views.SpecialTask = Backbone.View.extend({
initialize: function () {
vent.on('specialTasks:show', this.show, this);
},
show: function (id) {
console.log('Покажем задачу с id ' + id);
}
});
App.Router = Backbone.Router.extend({
routes: {
'': 'start',
'specialTasks/:id' : 'showSpecialTasks'
},
showSpecialTasks: function (id) {
vent.trigger('specialTasks:show', id);
},
start: function() {
console.log( 'Стартовая страница' );
}
});
new App.Views.SpecialTask();
new App.Router;
Backbone.history.start();
})();
Источник:loftblog