Size: a a a

Angular - русскоговорящее сообщество

2020 April 07

MZ

Maxim Zvyagintsev in Angular - русскоговорящее сообщество
Здравствуйте. Подскажите, кто реализовывал micro-frontend (аналог микро сервисов на беке). Есть ли хороший материал (статьи, проекты open-source, м.б. видео гайды) на angular.

Пока не представляю как подойти к этой задаче.
источник

VV

Vitaly Vasilega in Angular - русскоговорящее сообщество
Всем привет. Подскажите, на данный момент если для одного path в route используется несколько guard'ов, то они вызываются одновременно. По этому поводу был давний issue: https://github.com/angular/angular/issues/21702. Хотел узнать, кто-то делал так, чтобы guart'ы вызывались по цепочке друг за другом при условии, что предыдущий вернул true? В issue было написано, что они добавят "расширенную" поддержку observable, но я так ничего и не нашёл. Спасибо
источник

AS

Anton Shvets in Angular - русскоговорящее сообщество
Vitaly Vasilega
Всем привет. Подскажите, на данный момент если для одного path в route используется несколько guard'ов, то они вызываются одновременно. По этому поводу был давний issue: https://github.com/angular/angular/issues/21702. Хотел узнать, кто-то делал так, чтобы guart'ы вызывались по цепочке друг за другом при условии, что предыдущий вернул true? В issue было написано, что они добавят "расширенную" поддержку observable, но я так ничего и не нашёл. Спасибо
а в чем проблема отрезолвить гарды по цепочке? сделай сервис, который будет содержать соответствующие  потоки и ориентируйся на них
источник

B

Bohdan in Angular - русскоговорящее сообщество
Maxim Zvyagintsev
Здравствуйте. Подскажите, кто реализовывал micro-frontend (аналог микро сервисов на беке). Есть ли хороший материал (статьи, проекты open-source, м.б. видео гайды) на angular.

Пока не представляю как подойти к этой задаче.
Ну как вариант это iframe в котором другая апку вот тебе и одиз из вариантов
источник

VV

Vitaly Vasilega in Angular - русскоговорящее сообщество
Anton Shvets
а в чем проблема отрезолвить гарды по цепочке? сделай сервис, который будет содержать соответствующие  потоки и ориентируйся на них
а это всё понятно, накостылить можно много чего, я думал, может у меня не получилось найти соответствующую информацию, а уже есть грамотная поддержка из коробки. Видимо команда Angular так и забила на это.
источник

AS

Anton Shvets in Angular - русскоговорящее сообщество
Vitaly Vasilega
а это всё понятно, накостылить можно много чего, я думал, может у меня не получилось найти соответствующую информацию, а уже есть грамотная поддержка из коробки. Видимо команда Angular так и забила на это.
ну как бы смысла это делать немного, я бы тож забил
источник

AS

Anton Shvets in Angular - русскоговорящее сообщество
больше неудобств доставляет обязательное выполнение всех гардов перед резолверами :)
источник

VV

Vladimir Verbitskiy in Angular - русскоговорящее сообщество
всем привет! а кто-нибудь заворачивает валидацию форм в функции? как грамотно это сделать?
источник

VV

Vitaly Vasilega in Angular - русскоговорящее сообщество
Vladimir Verbitskiy
всем привет! а кто-нибудь заворачивает валидацию форм в функции? как грамотно это сделать?
Пример в студию
источник

VV

Vladimir Verbitskiy in Angular - русскоговорящее сообщество
Vitaly Vasilega
Пример в студию
<div *ngIf="formHelpers.validateField(item.get('question'))" class="valid-bubble">
   <div *ngIf="formHelpers.checkRequired(item.get('question'))">
       Question is required.
   </div>
   <div *ngIf="formHelpers.checkLatinOnly(item.get('question'))">
       Only latin characters allowed.
   </div>
</div>



export const validateField = (formValue) => {
   if (!formValue) {
     return;
   }
   return formValue.invalid && (formValue.dirty || formValue.touched);
};
источник

VV

Vladimir Verbitskiy in Angular - русскоговорящее сообщество
типа такого
мы делаем так, но напрягает один момент - функция вызывается очень много раз
выносить в пайп наверное немного такое себе
да и в целом решил узнать кто как валидирует
источник

VV

Vitaly Vasilega in Angular - русскоговорящее сообщество
Vladimir Verbitskiy
<div *ngIf="formHelpers.validateField(item.get('question'))" class="valid-bubble">
   <div *ngIf="formHelpers.checkRequired(item.get('question'))">
       Question is required.
   </div>
   <div *ngIf="formHelpers.checkLatinOnly(item.get('question'))">
       Only latin characters allowed.
   </div>
</div>



export const validateField = (formValue) => {
   if (!formValue) {
     return;
   }
   return formValue.invalid && (formValue.dirty || formValue.touched);
};
Я думаю, такое имеет право на жизнь, почему и нет, но в вашем случае я бы создал отдельный компонент и инкапсулировал всю логику там.
<custom-validator [formControl]="item.get('question')">Question is required.</custom-validator>
источник

E

Eugene in Angular - русскоговорящее сообщество
Vladimir Verbitskiy
типа такого
мы делаем так, но напрягает один момент - функция вызывается очень много раз
выносить в пайп наверное немного такое себе
да и в целом решил узнать кто как валидирует
может стоит на модели считать ошибки?
источник

VV

Vitaly Vasilega in Angular - русскоговорящее сообщество
или директива <div [customValidator]="item.get('question'))">Question is required.</div>
источник

E

Eugene in Angular - русскоговорящее сообщество
Vitaly Vasilega
или директива <div [customValidator]="item.get('question'))">Question is required.</div>
или так, да
источник

VV

Vladimir Verbitskiy in Angular - русскоговорящее сообщество
Eugene
может стоит на модели считать ошибки?
вот тут не понял
есть пример?
источник

E

Eugene in Angular - русскоговорящее сообщество
Vladimir Verbitskiy
вот тут не понял
есть пример?
считать ошибки заранее, в компоненте, а в шаблоне выводить их список, подставляя текстовку через пайп/директиву
источник

VV

Vladimir Verbitskiy in Angular - русскоговорящее сообщество
Eugene
считать ошибки заранее, в компоненте, а в шаблоне выводить их список, подставляя текстовку через пайп/директиву
с компонентом пока сексуальней выглядит 😄
источник

КВ

Кирилл Валиков... in Angular - русскоговорящее сообщество
Vladimir Verbitskiy
<div *ngIf="formHelpers.validateField(item.get('question'))" class="valid-bubble">
   <div *ngIf="formHelpers.checkRequired(item.get('question'))">
       Question is required.
   </div>
   <div *ngIf="formHelpers.checkLatinOnly(item.get('question'))">
       Only latin characters allowed.
   </div>
</div>



export const validateField = (formValue) => {
   if (!formValue) {
     return;
   }
   return formValue.invalid && (formValue.dirty || formValue.touched);
};
а классическая валидация чем не заходит?
https://angular.io/guide/form-validation
все примеры выше - разные сорта извращений...))
источник

v

v.a. in Angular - русскоговорящее сообщество
Vladimir Verbitskiy
типа такого
мы делаем так, но напрягает один момент - функция вызывается очень много раз
выносить в пайп наверное немного такое себе
да и в целом решил узнать кто как валидирует
а почему бы не описать ValidatorFn и вставить прямо в форму?
источник