Size: a a a

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

2019 October 22

MC

Maksim Chuguev in Angular - русскоговорящее сообщество
Подскажите кто что использует для ведения документации проекта?
источник

RK

Roman Kolesnikov in Angular - русскоговорящее сообщество
Maksim Chuguev
Подскажите кто что использует для ведения документации проекта?
compodoc
источник

V

Vadim in Angular - русскоговорящее сообщество
Anton Shvets
кстати вообще не понял смысла iif. заменяется тернарным оператором как правило.
В rxjs есть избыточные операторы
источник

YK

Yuri Katkov in Angular - русскоговорящее сообщество
Anton Shvets
сложнее мокнуть. сервис очевидно относится к компоненту, фактически его часть. красивее
оператор потому что это похоже на поток от бэка. Просто скорее всего ты его преждевременно перевел в плейн дату.
Думать в сторону моканья - мне кажется это очень правильно. мы зависим от неведомой асинхронной фигни со сложной логикой, то хочется ее просто мокать для тестов.  Потому-то мы и делаем Http-сервисы, и выносим в сервисы жесть вроде вот такого:

setUpStartStopEvents(): Observable<void> {
 const autoMode$ = this.autoModeSlideToggle.change;
 const newSimulationClicks$ = fromEvent(this.newSimulationButton.nativeElement, 'click');
 const [autoModeStartClicks$, autoModeStopClicks$] = partition((evt: MatSlideToggleChange) => evt.checked)(autoMode$);
 const intervalThatStops$ = interval(this.automaticCalculationInterval).pipe(takeUntil(autoModeStopClicks$));
 const autoModeStartingTrigger$ = autoModeStartClicks$.pipe(switchMapTo(intervalThatStops$));
 return merge<void>(newSimulationClicks$, autoModeStartingTrigger$);
}


Тут я первый буду голосовать за вынесение в сервис, потому что при тестировании компонента мы сможем заменить это на простенький поток и инжектнуть. В случае же с простыми текстовыми преобразованими типа обрезания строк, DI становится обузой, как по мне.
источник

V

Vadim in Angular - русскоговорящее сообщество
В telegram это вообще нечитаемо
источник

KK

Kseniia Koparos in Angular - русскоговорящее сообщество
Anton Shvets
кстати вообще не понял смысла iif. заменяется тернарным оператором как правило.
согласна. единственное может быть из плюшки, что есть возможность не прописывать одно из возвращаемых значений)) имхо  все относительно, я даже видела, как этот оператор юзают разок))
источник

AS

Anton Shvets in Angular - русскоговорящее сообщество
Yuri Katkov
Думать в сторону моканья - мне кажется это очень правильно. мы зависим от неведомой асинхронной фигни со сложной логикой, то хочется ее просто мокать для тестов.  Потому-то мы и делаем Http-сервисы, и выносим в сервисы жесть вроде вот такого:

setUpStartStopEvents(): Observable<void> {
 const autoMode$ = this.autoModeSlideToggle.change;
 const newSimulationClicks$ = fromEvent(this.newSimulationButton.nativeElement, 'click');
 const [autoModeStartClicks$, autoModeStopClicks$] = partition((evt: MatSlideToggleChange) => evt.checked)(autoMode$);
 const intervalThatStops$ = interval(this.automaticCalculationInterval).pipe(takeUntil(autoModeStopClicks$));
 const autoModeStartingTrigger$ = autoModeStartClicks$.pipe(switchMapTo(intervalThatStops$));
 return merge<void>(newSimulationClicks$, autoModeStartingTrigger$);
}


Тут я первый буду голосовать за вынесение в сервис, потому что при тестировании компонента мы сможем заменить это на простенький поток и инжектнуть. В случае же с простыми текстовыми преобразованими типа обрезания строк, DI становится обузой, как по мне.
выглядит не очень и назначение непонятно.
источник

AS

Anton Shvets in Angular - русскоговорящее сообщество
Kseniia Koparos
согласна. единственное может быть из плюшки, что есть возможность не прописывать одно из возвращаемых значений)) имхо  все относительно, я даже видела, как этот оператор юзают разок))
плюшка там только в том что iif принимает в качестве условия функцию, а не значение. но пока не придумал где это могло бы понадобиться.
источник

YK

Yuri Katkov in Angular - русскоговорящее сообщество
Anton Shvets
выглядит не очень и назначение непонятно.
выглядит как я и описал - "неведомая асинхронная фигня". Если очень интересно, что это - она позволяет запускать функцию вычислений либо по нажатию на кнопку, либо запускает их каждую секунду, если нажата галочка. Когда галочку снимают - вычисления каждую секунду прекращаются.
источник

V

Vadim in Angular - русскоговорящее сообщество
Это супер неочевидная реализация с точки зрения кода
источник

V

Vadim in Angular - русскоговорящее сообщество
Делаются простые вещи, но очень сложно
источник

YK

Yuri Katkov in Angular - русскоговорящее сообщество
Vadim
Это супер неочевидная реализация с точки зрения кода
а как бы ты сделал? Вроде ж просто пара потоков комбинируется.
источник

AS

Anton Shvets in Angular - русскоговорящее сообщество
Yuri Katkov
выглядит как я и описал - "неведомая асинхронная фигня". Если очень интересно, что это - она позволяет запускать функцию вычислений либо по нажатию на кнопку, либо запускает их каждую секунду, если нажата галочка. Когда галочку снимают - вычисления каждую секунду прекращаются.
сделай просто директиву которая эмитит событие каждую секунду, если свитчер активен. и все. рх тут только мешается.
источник

D

DAVID in Angular - русскоговорящее сообщество
Yuri Katkov
значит пайп-сокращалка одного драга с параметром до скольки букв сокращать. И в ngFor его
{{ drag.dragFullname | slice:x:y }} в цикле *ngFor (let drag of drags) и вырежьте то что вам не нужно
источник

YK

Yuri Katkov in Angular - русскоговорящее сообщество
Anton Shvets
сделай просто директиву которая эмитит событие каждую секунду, если свитчер активен. и все. рх тут только мешается.
дык interval-же это и есть оно
источник

V

Vadim in Angular - русскоговорящее сообщество
Yuri Katkov
а как бы ты сделал? Вроде ж просто пара потоков комбинируется.
Я вообще не понял смысла automodeStrartClicks. Выглядит как генератор рандома.
источник

AS

Anton Shvets in Angular - русскоговорящее сообщество
Yuri Katkov
дык interval-же это и есть оно
когда тикалка включена кнопка должна перестать работать?
источник

YK

Yuri Katkov in Angular - русскоговорящее сообщество
Anton Shvets
когда тикалка включена кнопка должна перестать работать?
нет. И во время тикалки тоже должна продолжать работать.
источник

AS

Anton Shvets in Angular - русскоговорящее сообщество
Yuri Katkov
нет. И во время тикалки тоже должна продолжать работать.
тогда это setInterval внутри директивы.
источник

AS

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