2012-08-28 29 views
9

Tôi dự định sử dụng xương sống + yêu cầu cho một ứng dụng có hơn 30 mô-đun. Thay vì tạo ra các tuyến đường riêng biệt cho mỗi mô-đun, tôi đang lập kế hoạch để tạo ra một cái gì đó như thế này.Backbone.js - Định tuyến động cho một trang web lớn

Không chắc đây là phương pháp hay nhất. Xin vui lòng hướng dẫn.

routes: { 
    ":module"     : "routeLevelOne", 
    ":module/:id"    : "routeLevelTwo", 
}, 

routeLevelOne: function(module){ 
    require(['views/' + module + 'View',], 
     function(){ 
      require('views/' + module + 'View').render(); 
     } 
    ); 
}, 

routeLevelTwo: function(module, id){ 
    require(['views/' + module + 'View',], 
     function(){ 
      require('views/' + module + 'View').renderWithId(id); 
     } 
    ); 
}, 

Trả lời

1

Theo quan điểm của tôi, điều này là hoàn toàn tốt và là phương pháp hay nhất. Nó giữ mã của bạn gọn gàng và sạch sẽ và nó rất dễ dàng để hiểu những gì được cho là sẽ xảy ra.

Tùy chọn thay thế duy nhất cho tôi sẽ là một cái gì đó như subroutes. Nhưng vì logic "dispatch" của bạn có vẻ giống nhau trong tất cả các mô-đun, có lẽ không bắt buộc.

6

Tôi đã viết một blog post về chủ đề này rất. Cách tiếp cận một bộ định tuyến có thể hoạt động trong một thời gian, nhưng bạn có quyền lo lắng về các vấn đề về khả năng mở rộng trong tương lai.

Như @schacki đã đề cập ở trên, hãy xem plugin Backbone.Subroute của tôi để làm điều này có thể mở rộng hơn và chuyển burdon của chương trình con cho các nhà phát triển làm việc trên các mô-đun đó.

Các vấn đề liên quan