2012-04-14 33 views
7

Tôi đang cố gắng tìm bất kỳ ví dụ định tuyến Ember.js nào tốt.Định tuyến Ember.js

Tôi có nên sử dụng tiện ích bổ sung như this hoặc cá nhân tôi thích giao diện của this?

Tôi thấy có một bộ sưu tập tuyến đường như một phần của đối tượng Nhà nước nhưng tôi không thể tìm thấy bất kỳ ví dụ nào về cách sử dụng nó.

Trả lời

1

Chỉnh sửa: Do thay đổi đáng kể trong bộ định tuyến Ember.js, câu trả lời này đã lỗi thời kể từ khoảng 1.0 PRE-RELEASE. Các phiên bản MOdern của ember.js phải use the standard routing guidelines

Tôi đoán đây là (bây giờ là leas) rất cá nhân. Tôi thích công cụ quản lý thói quen ember của ghempton. Nếu bạn cần giúp đỡ, tôi có thể giúp bạn. Cùng với gói bố trí ember của mình là tốt, họ làm việc tốt đẹp với nhau.

http://codebrief.com/2012/02/anatomy-of-a-complex-ember-js-app-part-i-states-and-routes/

+0

Tôi đã đi với trình quản lý định tuyến ember và trình quản lý bố cục. Tôi thích cách họ chơi cùng nhau. Tôi sẽ cung cấp các bản vá nếu có bất kỳ điều gì xảy ra. – dagda1

+4

Theo như tôi có thể nói kỹ thuật này không còn hoạt động với ember.js 0.9.8.1 bao gồm định tuyến gốc, Xem câu trả lời của pangrantz bên dưới cho giải pháp * * * chính thức * *;) – jskulski

+0

Vâng, chắc chắn, đây là chính xác tiếp cận ngay bây giờ, vào thời điểm tôi viết câu trả lời này, nó không có sẵn. – Luan

3

tôi sử dụng sproutcore-routing trong các ứng dụng của tôi bởi vì:

Để xem tài liệu, hãy xem spoutcore-routing tests

+0

Tôi không chắc chắn, không gian tên SC đã được thực hiện với Ember 0.9.6. Điều này có nghĩa là chúng không còn chơi tốt với nhau và là một phần của việc di chuyển chung khỏi Sproutcore. IMO Tôi phải căng thẳng. Tôi có thể chỉ bí danh không gian tên nhưng tôi tự hỏi nếu một trong các dự án mới hơn sẽ không tốt hơn. Ban đầu tôi sẽ sử dụng định tuyến sproutcore cho đến 0.9.6 – dagda1

21

Định tuyến gần đây đã có sẵn trong Ember.js lõi, xem số blog post của Tom Dale.

Nhà phát triển cốt lõi Yehuda Katz đã viết gist về cách sử dụng tính năng định tuyến mới. Đó là một đọc tốt, và bên cạnh việc định tuyến cũng cho biết làm thế nào nó có thể được tích hợp với bộ điều khiển.

Để có được ý tưởng cơ bản, đây là một ví dụ mã lấy từ các ý chính:

App.Router = Ember.Router.extend({ 
    root: Ember.State.extend({ 
    index: Ember.State.extend({ 
     route: '/', 
     redirectsTo: 'calendar.index' 
    }), 

    calendar: Ember.State.extend({ 
     route: '/calendar', 

     index: Ember.State.extend({ 
     route: '/' 
     }), 

     preferences: Ember.State.extend({ 
     route: '/preferences' 
     }) 
    }), 

    mail: Ember.State.extend({ 
     route: '/mail', 

     index: Ember.State.extend({ 
     route: '/' 
     }), 

     preferences: Ember.State.extend({ 
     route: '/preferences' 
     }) 
    }) 
    }) 
}); 

// If the user navigates to the page with the URL 
// www.myapp.com/, you will start in the root.calendar.index state. 
// The redirection to the calendar.index state will cause the URL 
// to be updated to www.myapp.com/calendar 

router.transitionTo('preferences'); 

// URL => www.myapp.com/calendar/preferences 

router.transitionTo('mail.preferences'); 

// URL => www.myapp.com/mail/preferences 

router.transitionTo('index'); 

// URL => www.myapp.com/mail 
3

tôi khuyên hướng dẫn này trên trang web ember: http://emberjs.com/guides/router_primer/

Tôi tin rằng nội dung này là rất new-- Tôi chắc chắn đã không nhận thấy nó một vài tuần trước khi tôi lần đầu tiên bắt đầu cố gắng để hiểu Ember định tuyến.

3

Định tuyến ember đã thay đổi hoàn toàn trong dịp Giáng sinh. Họ đã đăng một số tài liệu mới để trợ giúp, nhưng đã xóa tất cả các hướng dẫn cũ. Tôi đoán cách làm cũ (trong các câu trả lời trước) sẽ không còn được dùng nữa. http://emberjs.com/guides/routing/

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