我有一个使用Fixture Data Adapter的基本应用程序,并且有一个带有一些基本种子数据的模型。
我在使用新的emberjs 2.0列出模型中的多个项目时遇到问题。对象被加载并在其中显示ember检查器,但没有循环并在浏览器中显示。我已经能够一次列出一个,但是当我切换到添加多个项目时,它是空白的。任何帮助都会很棒。
我已经更新了一些更多信息。这是我要列出的列表的路线。
<!--dashboard/route.js -->
import Ember from 'ember';
export default Ember.Route.extend({
model: function() {
return this.store.findAll('dashboard');
}
});
这是模板文件
<!-- dashboard/template.hbs -->
<tbody>
<tr>
{{#each dashboards as |dashboard|}}
<td>dashboards.status</td>
<td>dashboards.orderid</td>
{{/each}}
</tr>
</tbody>
我认为我的一切设置正确,但无法让它发挥作用。
谢谢!
答案 0 :(得分:0)
尝试一下模型钩子。它不需要是哈希。
model: function() {
return this.store.findRecord('dashoard', 2);
}
如果您想要返回所有仪表板
model: function() {
return this.store.findAll('dashoard');
}
然后在dashboard / template.hbs
{{order-list dashboards=model}}
现在您可以访问组件中的所有仪表板
{{#each dashboards as |dashboard|}}
<td>dashboard.status</td>
<td>dashboard.orderid</td>
{{/each}}
答案 1 :(得分:0)
当您在模型中获取某些内容时,它会在相应的控制器上设置model
属性。
因此,您需要执行此操作,而不是循环遍历dashboards
:
<tbody>
<tr>
{{#each model as |dashboard|}}
<td>dashboards.status</td>
<td>dashboards.orderid</td>
{{/each}}
</tr>
</tbody>
另一种方法是使用setupController
挂钩在控制器上设置dashboards
属性。像这样:
setupController (controller, model) {
this._super(...arguments)
controller.set('dashboards', model)
}
这不是必要的;您基本上创建了一个指向dashboards
的{{1}}别名。所以,现在,当你循环遍历model
时,它会遍历dashboards
。
您可以在此处找到有关如何设置控制器的更多信息:http://guides.emberjs.com/v2.0.0/routing/setting-up-a-controller/