Size: a a a

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

2021 May 11

OP

Oleg P in Angular - русскоговорящее сообщество
источник

OP

Oleg P in Angular - русскоговорящее сообщество
Как лучше такие привязки разгружать - чтобы не напрягать рендеринг?
источник

RY

Roman Yazvinsky in Angular - русскоговорящее сообщество
Через behaviourSubject-ы, наверное (loading, registryAddType, newRegistry)
источник

OP

Oleg P in Angular - русскоговорящее сообщество
все три?
источник

RY

Roman Yazvinsky in Angular - русскоговорящее сообщество
Сами смотрите, я не знаю же, что когда обновляется. Минимум 2
источник

RY

Roman Yazvinsky in Angular - русскоговорящее сообщество
Еще есть вариант вынести в функцию и делать this.disableSaveButton = this.isButtonDisabled(), тогда еще проще, но следить сложнее, если логика усложнится
источник

OP

Oleg P in Angular - русскоговорящее сообщество
Понял - попробую закрутить с сабжектами
источник

OP

Oleg P in Angular - русскоговорящее сообщество
а потом каждый прослушивать в шаблоне как async или емииттить все в отдельный обсервабл как disabledBtn$?
источник

RY

Roman Yazvinsky in Angular - русскоговорящее сообщество
disabledBtn$ = combineLatest([this.loading$, this.newRegistry$, this.regAddType).pipe(map([1,2,3] => 1 && 2 && 3))
"disabledBtn$ | async"
источник

OP

Oleg P in Angular - русскоговорящее сообщество
ага - спасибо
источник

ФІ

Федор Ігор in Angular - русскоговорящее сообщество
оно работает
источник

ФІ

Федор Ігор in Angular - русскоговорящее сообщество
но другому прудукту дайот только 1 значения
источник

Dm

Dungeon master in Angular - русскоговорящее сообщество
Запилил. Работает.
источник

Dm

Dungeon master in Angular - русскоговорящее сообщество
источник
2021 May 12

ВЧ

Владимир Черезов... in Angular - русскоговорящее сообщество
Всем привет, кто-нибудь работал с pki.js?
источник

ВЧ

Владимир Черезов... in Angular - русскоговорящее сообщество
как там перевести строку в sha256? Ничерта не могу найти по докам
источник

S🌴

Saidazim 🌴 in Angular - русскоговорящее сообщество
Это помогло) 12 версия сработала) спасибо большое!
источник

AB

Az Booki in Angular - русскоговорящее сообщество
🤘
источник

В

Валерий in Angular - русскоговорящее сообщество
Подкиньте, пжл, ссылок по теме:
* почему важно писать JSDoc
* почему можно оставлять функции публичными
* почему лучше тестировать функции, чем делать их приватными

У нас тут холиварчик, команда не умеет в дискуссии(любят отмалчиваться), диспозиция такая:
* доки устаревают, их тяжело поддерживать - это не доки, это одна строчка примечаний
* да, в исходниках ангуляр есть доки, но этож Публичная Библиотека, тут конракты надо описывать - а у нас тоже дофигалиард кода, его что описывать совсем не надо
* мы много времени потратили на уменьшение объёма кода, чтобы классы влезали на один экран - а разве у вас маленькие экраны, или примечания мешают читать код, ну тогда это неправильные примечания
* все функции должны быть приватными, это хорошая практика - а может для компоеннтов это не актуально, у нас в них ходят только через Input
* ну вот и тестируй только Input, нефиг внутрь лезть - а разве покрытие тестами не лучшая защита от дурака, чем приватность
* приватные методы можно тестировать так superComponentFixture['initData'].toBeCalledOnce() - это выключает автоматическое переименование(рефакторинг), линтеры, проверку типов
источник

АД

Александр Духновский... in Angular - русскоговорящее сообщество
* почему важно писать JSDoc - не важно, потому что жсдок обычно очень поверхностная дока, где нет ничего, что нельзя было бы посмотреть в исходниках. Хорошая дока содержит пояснения и примеры использования, а тупое перечисление классов и методов с их типами бесполезно. В сорцах хотя бы попроваливаться в цепи вызовов можно, а в жсдоке и этого нет.

* почему можно оставлять функции публичными - да как душе угодно. Хорошей практикой является инкапсуляция - это когда публичным является только интерфейс, который реализует класс. Метод черного ящика.

* почему лучше тестировать функции, чем делать их приватными - здесь вообще звучит как "дай закурить, а то так есть хочется, что негде переночевать". Как это связано? В жасминах с жестами не видны приватные методы не потому, что это некий антипаттерн - это просто работает инкапсуляция, т.е. вполне нормально что типизация будет ругаться на попытку вызвать их обычным способом. Но тестировать их тоже нужно, если в этом есть необходимость, любым доступным способом. В общем, не нужно воспринимать дефолтную инкапсуляцию как запрет или ограничение со стороны фреймворка тестирования
источник