To jest mój plik app.js. Muszę uzyskać dostęp do metody routera navigate
z metody navigateToLogin
klasy . Ale ponieważ appRouter jest zdefiniowany po widoku, nie może rozpoznać routera z poziomu widoku. Potrzebuję więc znaleźć sposób na globalny dostęp do routera z dowolnej klasy lub metody. Jak mogę obejść ten problem?Jak uzyskać dostęp do routera globalnie w js szkieletu?
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();
Odpowiedź Lukasa powinna być zaakceptowaną odpowiedzią na to pytanie. –