2016-06-10 4 views
1

Я пытаюсь построить микросостояние историю с этим:BackboneJS: router.navigate не является функцией

var router = Backbone.Router.extend({ 
    routes:{"":"home",":slug":"pages"}, 
    pages:function(slug){alert(slug);}, 
    home:function(){alert('home');} 
}) ; 

Backbone.history.start({ 
    pushState: true, 
    silent: true 
}); 

$(document).on("click","a",function(e) { 
    e.preventDefault() ; 
    router.navigate($(this).attr('href'),true) ; 
}); 

Но консоль говорит: "Uncaught TypeError: router.navigate не является функцией"

Что мне там не хватает?

ответ

4

Вам нужно создать экземпляр маршрутизатора:

var AppRouter = Backbone.Router.extend({ 
    routes:{"":"home",":slug":"pages"}, 
    pages:function(slug){alert(slug);}, 
    home:function(){alert('home');} 
}); 

Backbone.history.start({ 
    pushState: true, 
    silent: true 
}); 

var router = new AppRouter(); 
$(document).on("click","a",function(e) { 
    e.preventDefault() ; 
    router.navigate($(this).attr('href'),true) ; 
}); 
Смежные вопросы