Đây là tệp app.js của tôi. Tôi cần truy cập phương thức navigate
của bộ định tuyến từ trong phương thức navigateToLogin
của lớp LandingView
. Nhưng kể từ khi appRouter được định nghĩa sau khi xem nó không thể nhận ra router từ bên trong khung nhìn. Vì vậy, tôi cần phải tìm một cách để truy cập toàn cầu router từ bất kỳ lớp hoặc phương pháp nào. Làm thế nào tôi có thể giải quyết vấn đề này?Làm cách nào để truy cập bộ định tuyến toàn cầu trong js đường trục?
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();
Câu trả lời của Lukas phải là câu trả lời được chấp nhận cho câu hỏi này. –