EmberJS - 嵌套路由/资源

时间:2014-12-08 13:38:40

标签: ember.js routes ember-router

假设我希望我的应用程序所需的URL为:

  • domain.com/A/:aID
  • domain.com/A/:aID/B/:bID
  • domain.com/A/:aID/B/:bID/C?param1:123

每个州都将是一个完全不同的视图/模板。

我目前拥有的基本代码是:

this.resource('A', { path: 'A/:id' }, function () {
    this.resource('A.B', { path: 'B/:id' }, function () {
        this.route('A.B.C');
    }
}

这是实现这一目标的正确方法吗?还有更好的方法吗?

1 个答案:

答案 0 :(得分:2)

您的路线声明应该只是C,而不是A.B.C。资源不保留其父上下文,但路由确实如此。如果需要,也可以使用嵌套路由而不是嵌套资源。

this.route('A', { path: 'A/:id' }, function () {
    this.route('B', { path: 'B/:id' }, function () {
        this.route('C');
    }
}

除此之外,我认为你的方法会很好用。