Đị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
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
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
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