pan*_*atz 21
最近在核心Ember.js中提供了路由,请参阅Tom Dale的博客文章.
核心开发人员Yehuda Katz写了一篇关于新路由功能使用的要点.这是一个很好的阅读,除了路由还说明它如何与控制器集成.
为了得到基本的想法,这里是一个从要点中获取的代码示例:
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
Run Code Online (Sandbox Code Playgroud)
小智 1
编辑:由于 Ember.js 路由器发生重大变化,这个答案自 1.0 PRE-RELEASE 左右以来就已过时。现代版本的 ember.js 应使用标准路由指南
我想这是(至少现在)非常个人化的。我喜欢 ghemton 的 ember-routemanager。如果您需要帮助,我可以帮助您。与他的 ember-layout 包一起,它们配合得很好。
http://codebrief.com/2012/02/anatomy-of-a-complex-ember-js-app-part-i-states-and-routes/
| 归档时间: |
|
| 查看次数: |
6459 次 |
| 最近记录: |