Dies ist meine app.js-Datei. Ich muss auf die navigate
Methode des Routers innerhalb der navigateToLogin
Methode der LandingView
Klasse zurückgreifen. Da der appRouter jedoch nach der Ansicht definiert ist, kann er den Router nicht innerhalb der Ansicht erkennen. Also muss ich einen Weg finden, global von jeder Klasse oder Methode auf den Router zuzugreifen. Wie kann ich dieses Problem umgehen?Wie Router global in Backbone-Js zugreifen?
var LandingView = Backbone.View.extend({
tagName: 'div',
id: 'landing',
className: 'landingpad',
events: {
'click button#login': 'navigateToLogin',
},
render: function(){
(this.$el).append("<button class='button' id='login'>Login</button><br/><br/><br/>");
(this.$el).append("<button class='button' id='new'>New User?</button>");
console.log(this.el);
return this;
},
navigateToLogin: function(e){
app.navigate("/login", true);
return false;
},
});
var appRouter = Backbone.Router.extend({
initialize: function(){
$('#content').html(new LandingView().render().el);
}
});
app = new appRouter();
Lukas Antwort sollte die akzeptierte Antwort auf diese Frage sein. –