讓供應商成爲文檔(包含代碼,名稱和許多其他字段)。 我有一個組件重構潛在複雜的模板
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',並且它需要可配置以防輸入之間有些事情發生變化。 –