У меня возникла проблема с моими соображениями с помощью функций маршрутизатора, кроме того, в инициализации.BackboneJS - Функции маршрутизатора - вызов?
это мой маршрутизатор код:
var ApplicationRouter = Backbone.Router.extend({
routes: {
"": "home",
//"*actions": "home",
"photo-gallery": "gallery",
"sound-lounge": "sound",
"contact": "contact"
},
initialize: function() {
this.homeView = new window.app.HomeView();
this.homeView.render();
/*
var soundView = new window.app.SoundView();
soundView.render();
var contactView = new window.app.ContactView();
contactView.render();
var galleryCollection = new window.app.GalleryCollection();
var gallery_items = galleryCollection.fetch();
gallery_items.done(function(){
var gallery_item = new GalleryView({ collection: galleryCollection });
});
*/
},
home: function() {
console.log('home');
},
sound: function() {
//var soundView = new window.app.SoundView();
//soundView.render();
console.log('sound');
},
contact: function() {
//var contactView = new window.app.ContactView();
// contactView.render();
console.log('contact');
},
gallery: function() {
console.log('gallery');
}
});
Вы можете увидеть возможность у меня есть:
var soundView = new window.app.SoundView();
soundView.render();
закомментирована в функции инициализировать, это будет работать, но как только я положил его в пределах «sound» function Я получаю эту ошибку: Uncaught TypeError: undefined не является функцией
Это как сделать эту часть: new window.app. SoundView();
Я его назвал window.app.SoundView в моем коде, как я могу идти о том, чтобы эту работу (это происходит неправильно для всех моих участков)
// ДОБАВЛЕНО soundView Код
// SOUNDVIEW
window.app.SoundView = Backbone.View.extend({
el: $("html"),
events: {
"click #sound-lounge": "render_sound"
},
initialize: function(){
this.render_sound();
},
render: function(model){
return this;
},
render_sound: function(){
this.model=new window.app.Home({id: 2});
var $main=this.$el.find('#content-area');
this.model.fetch().complete(function(data){
$main.html(data["responseJSON"].description);
});
}
});
Thanks
внутри router's initialize try использовать навигацию, а внутри звукового представления вызывать render_sound после рендера. –
Спасибо, я только начал с backboneJS, поэтому я не уверен на 100%, что вы имеете в виду Есть ли какой-нибудь пример кода, который мог бы мне помочь? Thankyou – sluggerdog
Учебник Томаса Дэвиса действительно хорош для начала работы с Магистраль https://www.youtube.com/watch?v=FZSjvWtUxYk. См. Также: http://backbonetutorials.com/ –