Ember的嵌套路线

时间:2015-01-02 05:55:46

标签: ember.js

我希望我的设置区域如下所示:

..
/settings/:accountId/users
/settings/:accountId/users/:userId

我的路由器定义如下:

Router.map(function() {
    this.route('login');
    this.resource('settings', { path: 'settings/:settings_id' }, function() {
        this.route('overview');
        this.route('users');
    });
});

这适用于显示用户列表页面。我不确定如何将其用于下一步,同时拥有/users/users/1的路线和资源。

感谢。

1 个答案:

答案 0 :(得分:2)

在最新版本的Ember中,路由可以有子路由(为了名称空间)。

Router.map(function() {
    this.route('login');
    this.resource('settings', { path: 'settings/:settings_id' }, function() {
        this.route('overview');
        this.route('users', function(){
          this.route('user', {path:':user_id'});
        });
    });
});

http://emberjs.jsbin.com/cutayuniga/1/edit?html,js,output

如果您使用的是旧版本,则必须为用户提供资源。

Router.map(function() {
    this.route('login');
    this.resource('settings', { path: 'settings/:settings_id' }, function() {
        this.route('overview');
        this.resource('users', function(){
          this.route('user', {path:':user_id'});
        });
    });
});