#javascript #backbone.js #marionette
#javascript #backbone.js #марионетка
Вопрос:
У меня есть базовое приложение для марионеток, которое выглядит как:
var App = new Marionette.Application();
App.on('initialize:after', function () {
console.log('init');
});
App.start();
Когда я запускаю это, на консоль ничего не выводится. Однако, если я добавлю
App.on('start', function () {
console.log('start');
});
затем оно печатается start
. Кто-нибудь знает, как заставить первое работать?
Ответ №1:
Какую версию marionette вы используете?
initialize:after
было переименовано в start
после версии 1.0.0. Посмотрите список изменений.
Комментарии:
1. Я использовал 2.0.1 — но, по-видимому, гораздо более старый учебник. Спасибо!
Ответ №2:
В марионетке 3 события, которые в данный момент запускаются, являются:
"before:start"
/onBeforeStart
: запускается непосредственно перед запуском приложения и перед выполнением инициализаторов."start"
/onStart
: срабатывает после запуска приложения и после выполнения инициализаторов.
var MyApp = ContactManager = new Backbone.Marionette.Application();
MyApp.on("before:start", function(options){
options.moreData = "Yo dawg, I heard you like options so I put some options in your options!";
});
MyApp.on("start", function(options){
console.log(options)
/*
if (Backbone.history){
Backbone.history.start();
}
*/
});