将新模型数据传递给组件

时间:2015-10-07 21:37:49

标签: ember.js ember-cli

我正在努力掌握ember的工作方式(可能与我想的方式完全相反)。

我正在使用ember 2.0。

我尝试制作的测试应用程序将在应用程序索引页面上显示库存组件。我想避免通过路线(在这种情况下是页面网址)导航用户,只需在单页上提供信息。

如果我只想在用户打开后获取库存数据,例如,模态对话框,如何打开组件模态并传入新数据?

我知道您可以将数据传递到{{modal-component name=name age=age}}之类的组件,但如果数据不是,那么点击后如何获得新数据?

由于

1 个答案:

答案 0 :(得分:2)

好吧,如果你有一个模态组件,你可以在模态打开时进行数据提取。通过将modelName作为属性,您可以在任何需要的地方使用相同的组件。

{{modal-component modelName='directory/my-model'}}

并在

组件/模态-components.js

 init: function() {
      this._super();
      this.set('someModalContainer', this.get('store').findAll(this.get('modelName'))
 }

现在,在打开组件时运行此代码,这允许您在完成打开组件的必要状态时获取数据。不是在路线的初始负荷或任何东西。

组件/模态-components.hbs

{{#each someModalContainer as |modalDataItem|}}
     {{modalDataItem.kickassProperty}}
 {{/each}}