169 похожих чатов

Привет!) Есть вопрос по ангуляру(в своем чате его не помогают) Есть

компонент, который имплементирует ControlValueAccessor. Какой-нибудь datepicker, montpicker, обычный инпут, не суть.

Так как я юзаю bootstrap, то постоянно верстать компоненты в виде:
<div class="form-group>
<label class="control-label"> Первый инпут</label>
<my-input formControlName="firstInput"></my-input>
</div>
<div class="form-group>
<label class="control-label"> Второй инпут</label>
<another-input formControlName="secondtInput"></another-input>
</div>

И так на каждой форме. Ну явно видно дублирование. Хочу сделать некий компонент, например, FormBlockComponent, который будет содержать в себе инпут, label с названием. Но при этом хочется чтобы он тоже реализовал ControlValueAccessor и я мог верстать тупо этими компонентами.

Вопросы, собственно, такие:
1)Применим ли такой подход?
2)Если да, то как сделать этот компонент враппер, чтобы его методы ControlValueAccessor ссылались на методы внутреннего инпута
3) Так как используются реактивные формы, то используется такая конструкция:

<div class="form-group" [class.has-error]="!form.controls['control'].valid && form.controls['control'].touched">....

чтобы красить контрол и метку в красный цвет если оно не валидно и при этом юзер уже взаимодействовал с ним.

При этом эти конструкции аналогично, встречаются почти везде и хочется их не прописывать. Как их убрать? Может директива какая или что-то еще?

2 ответов

14 просмотров

А что именно в дублировании тебя смущает? Ты планируешь менять структуру всех форм в будущем? Нельзя ли обойтись стилями?

https://gitlab.com/Piterden/good-motherfucker/blob/piterden/app2/src/components/Filters/Filters.vue

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
Карта сайта