嵌套在多个资源ember.js中的相同路由

时间:2013-10-25 15:52:12

标签: ember.js

我正在构建一个ember.js应用程序,其中有一个名为“Program”的模型。

用户可以通过以下方式深入查看程序:
Genre > Subgenre > ProgrammeFolder > List > Programme

这是我的路由器:

this.resource('mylists', { path: '/' }, function() {
  this.resource('folder', { path: '/folder/:folder_id' }, function() {
    this.resource('list', { path: '/list/:list_id' }, function() {
      this.resource('programme', { path: '/programme/:programme_id' });
    });
  });
});

this.resource('catalogue', function() {
  this.resource('genre', { path: '/genre/:genre_id' }, function() {
    this.resource('subgenre', { path: '/subgenre/:subgenre_id' }, function() {
      this.resource('programme', { path: '/programme/:programme_id' });
    });
  });
});

UI需要深度嵌套(类型视图呈现在目录模板的出口处,类型模板出口中的子类型......等等。)

我遇到的问题是,当我ProgrammeRoute列表模板中的程序路由时,两个生成的路由都被称为linkTo,它实际上会转到嵌套在子类路径中的程序路由。

我应该在这做什么?

要解决这个问题,我已经命名了一条路线ListProgrammeRouteSubgenreProgrammeRoute,但这会导致一些重复。

1 个答案:

答案 0 :(得分:0)

您是否尝试过使用link-to helper with multiple models

{{link-to 'mylists.folder.list.programme' aFolder aList aProgramme}}