Bu benim app.js dosyası. Router'ın navigate
yöntemine, LandingView
sınıfının navigateToLogin
yöntemine erişmem gerekiyor. Ancak uygulamadan sonra appRouter tanımlandığı için yönlendiriciyi görünümden tanıyamaz. Bu yüzden yönlendiriciye herhangi bir sınıf veya yöntemden küresel olarak erişmenin bir yolunu bulmalıyım. Bu sorunu nasıl çözebilirim? Eğer küresel erişilebilir olmasını appRouter
gerekiyorsaOmurga js içinde dünya çapında yönlendirici nasıl erişilir?
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'ın cevabı bu soruya verilen cevap olmalıdır. –