TagsIndexRoute永远不会被称为TagsRoute是Emberjs

时间:2013-12-27 13:34:12

标签: ember.js

我试图从这里Original

逐个重复示例

我的jsbin是MY JSBIN 我的帖子路线是

App.PostsIndexRoute = Ember.Route.extend({
  model: function() {
     return this.modelFor('posts');
  }
}); 
App.PostsRoute = Em.Route.extend({
  model: function(){
    return this.store.findAll('post');
  } 
});

和我的标签路线完全相同。

  

App.TagsIndexRoute = Em.Route.extend({model:function(){       return this.modelFor('tags'); }});

     

App.TagsRoute = Em.Route.extend({model:function(){       return this.store.findAll('tag'); }});

虽然我的数据模板名称是data-template-name =“tags”但我可以显示数据 我无法使用data-template-name =“tags / index”

显示数据

我的路由器地图看起来像这样

App.Router.map(function() {
  // put your routes here
  this.route('about');
  this.resource('posts',{path:'/posts'},function(){
    this.route('post',{path:':id'});
  });

  this.resource('tags',{path:'/tags'});
});

它只是默默地没有错误消息。如果在IndexRoute中我从transitionTo('tags')更改为transitionTo('posts'),那么事情就好了,不知道我哪里出错了。

1 个答案:

答案 0 :(得分:0)

有一个记录的错误/功能,如果您的资源没有传递函数参数,它将不会创建索引路径

 this.resource('tags',{path:'/tags'}, function(){});

https://github.com/emberjs/ember.js/issues/3995#issuecomment-31200805

  

注意:如果使用this.resource定义资源但不提供函数,则不会创建隐式resource.index路由

http://emberjs.com/guides/routing/defining-your-routes/