2016-06-10 11 views
1

I Mikrozustand Geschichte mit diesen Ergebnissen aufzubauen versuchen:Backbone.js: router.navigate ist keine Funktion

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) ; 
}); 

Aber Konsole sagt: "Uncaught Typeerror: router.navigate keine Funktion"

Was fehlt mir dort?

Antwort

4

Sie müssen Ihren Router instanziiert:

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) ; 
});