Size: a a a

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

2020 March 23

N

Nikita in Angular - русскоговорящее сообщество
Smooth Operator
const timer = createTimer(...);
timer.subscribe(...)
timer.pause(300)
Спасибо, попробую
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Yuriy
Ребята. Подскажите, пожалуйста.
Есть необходимость в зависимости от роли отображать или не отображать элементы на UI.
Вопрос.
Есть ли смысл это вынести в какой-то отдельный сервис или сделать что-то типа структурной директивы? какие тут бест практиксы?
сервис у вас в любом случае будет, который проверяет роли
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Yuriy
Ребята. Подскажите, пожалуйста.
Есть необходимость в зависимости от роли отображать или не отображать элементы на UI.
Вопрос.
Есть ли смысл это вынести в какой-то отдельный сервис или сделать что-то типа структурной директивы? какие тут бест практиксы?
дальше делаете структурные директивы использующие роли
источник

Y

Yuriy in Angular - русскоговорящее сообщество
Smooth Operator
дальше делаете структурные директивы использующие роли
Спасибо огромнейшее) вроде понял как
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
или через дескрипторы компонентов,
компонент декларирует условный контракт на конфиг, что может скрыть\показать, и ищет этот конфиг в DI а где то в проекте это конфиг cоздаешь(используй этот сервис)\провайдишь и соотвественно в компоненте через *ngIf
источник
2020 March 24

YK

Yuri Katkov in Angular - русскоговорящее сообщество
робяты, а ведь в пайпах можно возвращать обсервабл
источник

YK

Yuri Katkov in Angular - русскоговорящее сообщество
@Pipe({
 name: 'occupationLabel'
})
export class OccupationLabelPipe implements PipeTransform {
 constructor(private i18nService: I18nService,
             private occupationLabelRepository: OccupationLabelRepository) {
 }

 transform(bfsCode: string, ...args: any[]): Observable<string> {
   return this.i18nService.currentLanguage$.pipe(
     switchMap(lang => this.occupationLabelRepository.getOccupationLabelsByKey(OccupationTypes.BFS, bfsCode, lang)),
     map( occLabelData => occLabelData.default)
   );
 }

}
источник

ИК

Игорь Кацуба... in Angular - русскоговорящее сообщество
Если это вопрос, то да, можно
источник

YK

Yuri Katkov in Angular - русскоговорящее сообщество
это ответ!
источник

ИК

Игорь Кацуба... in Angular - русскоговорящее сообщество
))
источник

YK

Yuri Katkov in Angular - русскоговорящее сообщество
и это классно, когда тебе надо, например, рендерить мелочь всякую - ну типа по идентификатору термина отрисовывать его название
источник

YK

Yuri Katkov in Angular - русскоговорящее сообщество
в этом случае выражение {{bfsCode | occupationLabel | async}} - это просто кусок текста, можно его заключить в любые тэги, стилизовать как хочешь и прочее
источник

L

Let me take you into... in Angular - русскоговорящее сообщество
Yuri Katkov
@Pipe({
 name: 'occupationLabel'
})
export class OccupationLabelPipe implements PipeTransform {
 constructor(private i18nService: I18nService,
             private occupationLabelRepository: OccupationLabelRepository) {
 }

 transform(bfsCode: string, ...args: any[]): Observable<string> {
   return this.i18nService.currentLanguage$.pipe(
     switchMap(lang => this.occupationLabelRepository.getOccupationLabelsByKey(OccupationTypes.BFS, bfsCode, lang)),
     map( occLabelData => occLabelData.default)
   );
 }

}
Да, кста это удобно
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Yuri Katkov
в этом случае выражение {{bfsCode | occupationLabel | async}} - это просто кусок текста, можно его заключить в любые тэги, стилизовать как хочешь и прочее
знаешь еще как можно сделать
code | map: label | async
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
(биг брейн)
источник

YK

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

Y

Yuriy in Angular - русскоговорящее сообщество
Smooth Operator
знаешь еще как можно сделать
code | map: label | async
Ребят. Странный вопрос. И очень туповатый вопрос. Хочу просто этот пробел в знаниях закрыть.
Когда ты юзаешь асинк пайп или сервис, который тебе Observable<string> отдает и ты его в html юзаешь service.getChtot() | async
Не сильно ли все это чудо нагружает оперативку и браузер?
Просто если дебаггер всунуть в этот сервис - он будет каждый тик туда заходить.
источник

Y

Yuriy in Angular - русскоговорящее сообщество
Хочу с точки зрения внутренней кухни понять. Насколько это оптимизированно работает и пр
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Yuriy
Ребят. Странный вопрос. И очень туповатый вопрос. Хочу просто этот пробел в знаниях закрыть.
Когда ты юзаешь асинк пайп или сервис, который тебе Observable<string> отдает и ты его в html юзаешь service.getChtot() | async
Не сильно ли все это чудо нагружает оперативку и браузер?
Просто если дебаггер всунуть в этот сервис - он будет каждый тик туда заходить.
он туда заходит потому что ты метод вызываешь в шаблоне
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
ты должен один раз спросить сервис и сохранить результат
источник