私は良いEmber.jsルーティングの例を見つけるのに苦労しています。
このようなアドオンを使用する必要がありますか、それとも個人的にこの外観が好きですか?
Stateオブジェクトの一部としてroutesコレクションがあるようですが、その使用方法の例が見つかりません。
ルーティングは最近コアEmber.jsで利用可能になりました。TomDaleのブログ投稿を参照してください。
コア開発者のYehudaKatzは、新しいルーティング機能の使用法についての要点を書きました。これは良い読み物であり、ルーティングに加えて、コントローラーと統合する方法についても説明しています。
基本的な考え方を理解するために、要点から抜粋したコード例を次に示します。
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
私は自分のアプリでsproutcore-routingを使用しています。理由は次のとおりです。
ドキュメントについては、spoutcoreルーティングテストをご覧ください。
残り火サイトでこのガイドを強くお勧めします:http://emberjs.com/guides/router_primer/
このコンテンツは非常に新しいものだと思います。数週間前、Emberルーティングを最初に理解しようとしたときは確かに気づいていませんでした。
残り火の経路はクリスマスに完全に変わりました。彼らは役立ついくつかの新しいドキュメントを投稿しましたが、古いチュートリアルはすべて削除しました。(前の回答の)古いやり方は廃止されると思います。 http://emberjs.com/guides/routing/
編集:Ember.jsルーターの大幅な変更により、この回答は1.0PRE-RELEASE以降廃止されました。ember.jsのMOdernバージョンは、標準のルーティングガイドラインを使用する必要があります
これは(少なくとも今のところ)非常に個人的なことだと思います。ghemptonのember-routemanagerが好きです。あなたがそれについていくらかの助けを必要とするならば、私はあなたを助けることができます。彼の残り火レイアウトパッケージと一緒に、それらは一緒にうまく機能します。
http://codebrief.com/2012/02/anatomy-of-a-complex-ember-js-app-part-i-states-and-routes/