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

Хочу узнать ваще мнение. Коллега на работе считает, что это

ужас ужасный работать с интефейсом не так, как дали разработчики ангуляра.

Я использую подход функции tuiQueryListChanges из taiga ui
/**
* Extracts original array from {@link QueryList} rather than
* creating a copy like {@link QueryList.toArray} does.
* @param queryList
* @returns original array from {@link QueryList}.
*/
export function tuiGetOriginalArrayFromQueryList<T>(
queryList: QueryList<T>,
): readonly T[] {
let array: readonly T[] = [];

queryList.find((_item, _index, originalArray) => {
array = originalArray;

return true;
});

return array;
}

/**
* Converts changes observable of a QueryList to an Observable of arrays
*/
export function tuiQueryListChanges<T>(
queryList: QueryList<T>,
): Observable<readonly T[]> {
return queryList.changes.pipe(
startWith(null),
map(() => tuiGetOriginalArrayFromQueryList(queryList)),
);
}

Пример использования этого tuiQueryListChanges на компоненте аккордеона
https://github.com/taiga-family/taiga-ui/blob/95ae668e11add63d310740509101ae5d5227128f/projects/kit/components/accordion/accordion.component.ts

Мне же нравится подход тайги, работать с потоком, который работает по типу BehaviourSubject и отдаёт реальный массив компонентов, а не подобие массива.

Основное недовольство в функции tuiGetOriginalArrayFromQueryList, что она вытаскивает исходный массив наружу для взаимодействия.

Здесть есть разрабы из Тинькофф, кстати?

4 ответов

6 просмотров

полно :)

Михаил-Камахин Автор вопроса
Ilya Chursin
полно :)

Меня заставляют отказаться от этого, а я не хочу 😢

я не до конца понял - а чем копия данных возвращаемая от QueryList.toArray не подходит?

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

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

Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
55
кто-то пользуется компонентами rx ? как их лучше ставить, через OPM? (lazarus)
Iluha Companets
15
подскажите пожалуйста, как мне освободить результат записанный в переменную result? в чем проблема подскажите если МОЖЕТЕ?
Михаил Helper
28
есть тут кто-то , кто только начал изучать си? если проходите курс на степике или как-то сами изучаете, пишите, может, скооперируемся?..
Eule
25
Слушайте, ещё такая интересная задачка. Сделан аудит действий пользователей через триггеры в базе, соответственно каждый пользователь имеет свой логин и пароль в базе. Это пре...
Сергей Бычков
12
Скажите, тут нет проблемы? IMyInterface1 = interface function GetInterface2: IInterface2; ... function TMyInterface.GetInterface2: IInterface2; begin Result := TI...
Ruslan aka DUDE
18
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
вопрос по москвину - не понимаю вот такого вопроса похоже Сколько разных всегда завершающихся функций с типом a -> a -> b -> a -> a можно реализовать? Две функции одинаково...
Fedor
11
t.me/<username> и tg://user?id=<id> отваливаются по понятным причинам
Denis 🐍|👑 | darling! 🥰
7
Кстати, раз про скачивание файлов разговор зашел) Сделал бота для себя (транскрибирующего и суммаризирующего встречи) но не ожидал что за 2 месяца 10к пользователей набежит😅...
Andrey Obolenskiy
8
Карта сайта