我创建一个表单,我从后端的字段。 映射后,我有这样的事情:
genericFilters: {
iboId: {
'display': false,
'template': ''
},
iboCode: {
'display': true,
'template': 'text_input_iboCode',
/*'template': 'text/iboCode'*/
},
iboName: {
'display': true,
'template': 'text_input_iboName'
},
iboSurname: {
'display': true,
'template': 'text_input_iboSurname'
},
iboRank: {
'display': false,
'template': 'multiselect_iboRank',
/*'template': 'select/multi_iboRank',*/
},
iboEmail: {
'display': false,
'template': 'text_input_iboEmail'
},
iboNewsletter: {
'display': true,
'template': 'simple_select_iboNewsletter',
/*'template': 'select/simple_iboNewsletter',*/
},
};
我这背后的想法是创建的每个字段类型( checkbox
, multiselect
, text
, radio
在应用水平,为表单字段等)。 并使用映射JSON
上面的某个域类型从后端应用到每个receieved领域。
在我的例子中,场iboId
应具有字段类型<text_input_iboCode>
所以,在我看来,我不希望有这样的事情:
<text_input_iboCode></text_input_iboCode>
<text_input_iboName></text_input_iboName>
<text_input_iboSurname></text_input_iboSurname>
我真的希望有创作形式更加抽象的,是这样的:
<div *ngFor="let field of genericFilters | dynamicTemplateProcessorPipe">
{{field.template}} <!--This should equal '<text_input_iboName>' for example-->
</div>
问题:
我是不是一步登天? 这甚至可能吗? 是否有其他或更好的方法来实现这一目标? 我是否滥用@Pipe
功能?
我实际使用@Pipe
的翻译,格式化,通过循环objects
模板,等我猜我还可以用它来return
一个<fieldTemplate>
我将开始研究,看是否使用<ng-template #fieldTemplate>
也可能是一个可行的选择,在此期间,我希望有人能对这一功能doability打下一些轻@Pipe
。