Ember.js访问插座模板中的父控制器

时间:2013-04-24 19:39:12

标签: ember.js

我对Ember很新,我正在努力解决这个问题。

我有一个模型Huddle,以及一个关联的控制器HuddlesController。有一个模板huddles.hbs.erb,其中包含一个{{outlet}}。在templates/huddles/下有两个文件,grid.hbs.erb和list.hbs.erb。它们会在huddles.hbs.erb

中呈现

现在在huddles.hbs.erb内,我可以使用看起来像这样的每个块:

{{#each huddle in controller}}
  {{huddle.name}}
{{/each}}

这可以按预期工作,迭代Huddles的集合。

但是,如果我在list.hbs.erbgrid.hbs.erb内拨打相同的代码,则会收到以下错误:

Uncaught Error: assertion failed: an Ember.CollectionView's content must implement Ember.Array. You passed <(generated huddles.grid controller):ember405>

似乎我不再在正确的范围内!如何访问父控制器中的集合(HuddlesController扩展自Ember.ArrayController)?

提前致谢!

1 个答案:

答案 0 :(得分:0)

根据错误消息,您应该有一个名为HuddlesGridController的控制器,它扩展了Em.ArrayController。每条路线都有自己的控制器,视图和模板。这意味着HuddlesController在资源路由中使用(我假设为HuddlesRoute),但你是一个子路由(HuddlesRoute我也在假设)。