我正在寻找一种模式来为表单控件创建一个包装器组件。
其作用:包装任何类型的组件,(处理错误状态,消息)
语法:
{{form-control-group type="my-input" label="Some fancy label:"}}
模板/组件/形状控制group.hbs
{{#if hasError }}
{{error}}
{{/if}}
{{label}}
{{component type}}
只要我不需要任何属性for my-input
组件,它就可以正常工作。通常情况并非如此。假设我需要传递值。我能做到
{{component type value=value}}
但是因为我不想这么灵活。我将使用不同的表单控件,例如:选择,复选框等。它们都需要不同的属性。 我也可以为这些不同的属性做准备:
{{component type
value=value
content=content
contentPath=contentPath
disabled=disabled
checked=checked
...
}}
通过这种方式,它只能与准备好的组件一起使用。如果它作为表单插件的一部分发布,并且其消费者希望与数据贴图组件一起使用,则它不会传递属性。
问题:
有没有办法可以将所有传递给 form-control-group 组件的属性流式传输?
也许整个概念都是错误的,并且有一个更好的模式来处理这个问题。任何评论家和/或想法都是最受欢迎的。
修改
要明确:在这个问题中:"setProperties" does not pass "attrs" as expected我试图解决这个问题,传递包含所有属性的attrs
哈希值。也许Ember还没准备好,但我确信有一个解决方法。