Size: a a a

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

2020 January 27

И

Илья | 😶 in Angular - русскоговорящее сообщество
Mikhail Sharabanov
Как бы поступили опытные разрабы? Может, есть что-нибудь beforeInit() и надо запрашивать такие переменные там?
Через флаг мб булевый
источник

VV

Vladimir Verbitskiy in Angular - русскоговорящее сообщество
Mikhail Sharabanov
Как бы поступили опытные разрабы? Может, есть что-нибудь beforeInit() и надо запрашивать такие переменные там?
тебе надо резолвер написать для твоего компонента, в роутах
источник

VV

Vladimir Verbitskiy in Angular - русскоговорящее сообщество
Mikhail Sharabanov
Подскажите пожалуйста нормальное(!) решение:
У меня есть строка в коде:
<h1>{{currentPage.name}}</h1>
но свойство в начале не установлено. Оно запрашивается с сервера и устанавливается:
async ngOnInit() {
     await this.spinnerService.show(async (): Promise<void> => {
     this.documentLibs = await this.api.getBrokerDocuments();

     this.documentLibs.forEach(dl =>
     {
       this.pages.push(new DocumentsPageVM(dl));
     });

     this.currentPage = this.pages[0];
   });

И если я не напишу такой костыль в объявлении свойства
currentPage = {name: ''};
То у меня будет возникать ошибка при загрузке страницы: TypeError: Cannot read property 'name' of undefined
А я хочу объявлять свойство вот так: currentPage: DocumentsPageVM; (конструктор по умолчанию добавить не могу, так как есть параметризхованный)
ну или можешь сделать {{ currentPage?.name }} или {{ currentPage.name? }}

н епомню точно
источник

MS

Mikhail Sharabanov in Angular - русскоговорящее сообщество
{{ currentPage?.name }} - так не работает
источник

VV

Vladimir Verbitskiy in Angular - русскоговорящее сообщество
Mikhail Sharabanov
Подскажите пожалуйста нормальное(!) решение:
У меня есть строка в коде:
<h1>{{currentPage.name}}</h1>
но свойство в начале не установлено. Оно запрашивается с сервера и устанавливается:
async ngOnInit() {
     await this.spinnerService.show(async (): Promise<void> => {
     this.documentLibs = await this.api.getBrokerDocuments();

     this.documentLibs.forEach(dl =>
     {
       this.pages.push(new DocumentsPageVM(dl));
     });

     this.currentPage = this.pages[0];
   });

И если я не напишу такой костыль в объявлении свойства
currentPage = {name: ''};
То у меня будет возникать ошибка при загрузке страницы: TypeError: Cannot read property 'name' of undefined
А я хочу объявлять свойство вот так: currentPage: DocumentsPageVM; (конструктор по умолчанию добавить не могу, так как есть параметризхованный)
что мотивирует не использовать RxJS ?
источник

VV

Vladimir Verbitskiy in Angular - русскоговорящее сообщество
Mikhail Sharabanov
{{ currentPage?.name }} - так не работает
Тогда пиши резолвер
источник

MS

Mikhail Sharabanov in Angular - русскоговорящее сообщество
я его ещё не прикрутил. Мигрирую проект. Прикручу позже.
источник

G

Galeups in Angular - русскоговорящее сообщество
народ, как в NGprime у дропдауна задать значение по умолчанию?
источник

MS

Mikhail Sharabanov in Angular - русскоговорящее сообщество
То есть это задача RxJS&
источник

VV

Vladimir Verbitskiy in Angular - русскоговорящее сообщество
Mikhail Sharabanov
То есть это задача RxJS&
да нет
источник

VV

Vladimir Verbitskiy in Angular - русскоговорящее сообщество
у тебя просто данные приходят после рендера страницы и всё
источник

MS

Mikhail Sharabanov in Angular - русскоговорящее сообщество
и надо этот рендер задержать?
источник

VV

Vladimir Verbitskiy in Angular - русскоговорящее сообщество
и они потому undefined
источник

VV

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

MS

Mikhail Sharabanov in Angular - русскоговорящее сообщество
Понял. Погуглю про резолвер. Спасибо
источник

OS

Oleg Safonov in Angular - русскоговорящее сообщество
Mikhail Sharabanov
Понял. Погуглю про резолвер. Спасибо
Страницу можно отображать без этого значения? или нет? Если да, то лучше в сервис убрать и через observable подписаться
источник

MS

Mikhail Sharabanov in Angular - русскоговорящее сообщество
Можно. Так и сделаю
источник

t

tonn in Angular - русскоговорящее сообщество
Привет. Если я из кучи компонентов примерно в одно время вызываю detectChagens - ангуляр все это как то дебаунсит? или он в лоб выполняет все обновления последовательно?
источник

t

tonn in Angular - русскоговорящее сообщество
Если второе - есть какие нибудь bestpractice чтобы сделать дебаунс вручную?
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
tonn
Привет. Если я из кучи компонентов примерно в одно время вызываю detectChagens - ангуляр все это как то дебаунсит? или он в лоб выполняет все обновления последовательно?
так detectChanges не проверяет родителя, в чем проблема?
источник