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

嵌套在多个资源ember.js中的同一路由,ember.js,Ember.js,我正在构建一个ember.js应用程序,它有一个名为“program”的模型 用户可以通过以下方式深入到程序: 流派>子流派>节目或文件夹>列表>节目 这是我的路由器: this.resource('mylists', { path: '/' }, function() { this.resource('folder', { path: '/folder/:folder_id' }, function() { this.resource('list', { path: '/list/

我正在构建一个ember.js应用程序,它有一个名为“program”的模型

用户可以通过以下方式深入到程序:
流派>子流派>节目
文件夹>列表>节目

这是我的路由器:

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
,它实际上进入嵌套在子类型路由中的节目路由

我应该在这里做什么

为了解决这个问题,我命名了一个路由
ListProgrammeRoute
subgenreprogrammerroute
,但这会导致一些重复。

您尝试过使用吗


现在,您需要对这两种资源进行不同的命名。您可以使用mixin或基类在它们之间共享代码,以避免重复。
{{link-to 'mylists.folder.list.programme' aFolder aList aProgramme}}