alv*_*spo 6 javascript url-routing ember.js
有没有办法让单个资源拥有多个动态细分?我的用例是避免让用户点击索引路由.
例:
this.resource('tracks', { path: 'albums/:album_id/tracks/:tracks_id' });
Run Code Online (Sandbox Code Playgroud)
我想避免用户点击以下路线:
albums/:album_id
albums/:album_id/tracks
albums/:album_id/tracks/:track_id
Run Code Online (Sandbox Code Playgroud)
路线:
this.resource('albums', { path: 'albums' }, function(){
this.resource('album', { path: '/:album_id' }, function() {
this.resource('tracks', { path: 'tracks' }, function(){
this.resource('track', { path: '/:track_id' });
});
});
});
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.
注意:如果使用this.resource定义资源但不提供函数,则不会创建隐式resource.index路由.
使用Ember的嵌套路由会更好。每条路线都有自己的动态段。
App.Router.map(function () {
this.resource('albums', { path: '/albums' }, function () {
this.resource('album', { path: ':album_id' }, function () {
this.resource('tracks', { path: 'tracks' }, function () {
this.resource('track', { path: ':track_id' });
});
});
});
});
Run Code Online (Sandbox Code Playgroud)
如果您想在单击专辑后立即向用户显示第一首曲目,您可以使用重定向。
App.AlbumRoute = Ember.Route.extend({
afterModel: function (album, transition) {
this.transitionTo('track', {album_id: album.id, track_id: album.tracks[0].id});
},
});
Run Code Online (Sandbox Code Playgroud)
查看有关重定向的文档:http://emberjs.com/guides/routing/redirection/
归档时间: |
|
查看次数: |
1514 次 |
最近记录: |