我正在努力掌握ember的工作方式(可能与我想的方式完全相反)。
我正在使用ember 2.0。
我尝试制作的测试应用程序将在应用程序索引页面上显示库存组件。我想避免通过路线(在这种情况下是页面网址)导航用户,只需在单页上提供信息。
如果我只想在用户打开后获取库存数据,例如,模态对话框,如何打开组件模态并传入新数据?
我知道您可以将数据传递到{{modal-component name=name age=age}}
之类的组件,但如果数据不是,那么点击后如何获得新数据?
由于
答案 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}}