让供应商成为文档(包含代码,名称和许多其他字段)。 我有一个组件重构潜在复杂的模板
export class SuppliersDetails extends MeteorComponent {
supplier: any;
invalidKeys: Object; // array <key> => <error message>
和形式
<div>
<input [(ngModel)]="supplier.code" [class.invalid]="invalidKeys['code']" id="code" type="text" class="validate">
<label for="code" [class.active]="supplier.code || invalidKeys['name']" [attr.data-error]="invalidKeys['code']" >Code</label>
</div>
,让我来编辑它。
我该如何重构我的组件/模板,以减轻我的模板?
这里只有1个字段,只处理invalidKeys消息的显示。但我有8个领域和一些特定的逻辑添加。这将变得不可读。
我在寻找类似
<div>
<input plsDoItAllAndUseThatId='code'></input>
<label plsDoItAllAndUseThatId='code'>Code</input>
</div>
但我没有设计,任何想法的想法?
你可以做的事情不多。你可以将它封装在一个组件中,但是使用一个自定义组件作为表单输入字段(使用'[(ngModel)] =“...”')也不是微不足道的。它需要实现'ControlValueAccessor',并且它需要可配置以防输入之间有些事情发生变化。 –