如何从实例字段按名称呈现 component/helper?

How to render component/helper by name from instance field?

有没有办法使用来自 controller/view 字段的组件

所以不用

{{contact-select label="Label:" contacts=form.prop}}
// or
{{input-field label="Label:" contacts=form.prop}}
// or
{{datepicker-component label="Label:" contacts=form.prop}}

使用一些类似的东西

{{context.helperName label="Label:" contacts=form.prop}}

我尝试使用 ember-helpers-render-component 但它没有从 属性

中获取组件名称

您可以使用 component helper that was introduced in 1.11.0. Unfortunately there was no built-in way to do it before 1.11.0. If you're not able to upgrade, this thread 可以为您指明编写自己的帮助程序的方向。

在 1.11 版本中有组件助手

对于早期版本,我找到了相关问题/答案: How to dynamically load ember components by name in a template? how can I invoke an ember component dynamically via a variable?

为了我的目标,我调整了代码

https://github.com/vvs-code/ember-render-helper

现在我可以在我的模板中使用

{{renderComponent field.type _param=field.value label=field.label}}

相同
{{input field.value label=field.label}}

P.S> 作为变体 - 可以从 https://github.com/emberjs/ember.js/pull/10093 获取代码并将其直接移植到项目中