Size: a a a

Angular-universal-ru

2020 November 24

AI

Alex Inkin in Angular-universal-ru
В Angular вообще, а в Universal особенно, обращение к глобальным объектам не приветствуется. Делайте на них токены и подкладывайте в них то, что вам нужно. Опять же вброшу свой опенсорс, где многое уже есть:
https://github.com/ng-web-apis/common
Если нужен какой-то глобальный объект, которого там нет — можете завести issue
источник

BD

Baktiyar Dushebaev in Angular-universal-ru
Всем привет, подскажите как можно динамически в           p-table PrimeNG сумму колонок вывести?
источник

AO

Alexey Olkhovoy in Angular-universal-ru
@gorniv Привет! А подскажи, пожалуйста, а есть какая то возможность через cookieService поставить sameSite?
источник

V

Vadim in Angular-universal-ru
Alexey Olkhovoy
@gorniv Привет! А подскажи, пожалуйста, а есть какая то возможность через cookieService поставить sameSite?
Посмотри в доках. Мы точно также смотрим.
источник

V

Vadim in Angular-universal-ru
Хотя ещё в исходниках иногда, если с доками всё плохо
источник

AO

Alexey Olkhovoy in Angular-universal-ru
Судя по докам такой возможности нет
источник

AO

Alexey Olkhovoy in Angular-universal-ru
В исходниках тоже
источник
2020 November 25

AI

Alex Inkin in Angular-universal-ru
Народ, надеюсь, на вашу помощь, но, возможно, тут баг какой-то в @angular/fire. Пытаюсь в SSR запустить приложуху с Firebase. В ресолвере тащу данные:
this.firestore
 .doc<Omit<Composition, 'id'>>(`compositions/${id}`)
 .valueChanges()
 .pipe(
take(1))
Данные ресолвятся, по консоль лог вижу, что в контруктор компонента по тому роуту пришло, но страница висит, не отдаётся на фронт. Если внутри компонента снова сделаю такой же запрос с async пайпом на HTML - то всё прогружается. Но хотелось бы эту логику в ресолвере оставить, так как эти данные дальше в DI нужны.
источник

AI

Alex Inkin in Angular-universal-ru
Не, даже не так. firestore.doc вообще всегда зависает. Вот firestore.collection работает, если есть в ресолвере и потом в компоненте подпиннуть. Подпинывать можно и через firestore.doc, но только не через какие-нибудь простые таймауты, детектчейнджесы и тому подобное. NgZone.isInAngularZone() возвращает true. Магия какая-то...
источник

nt

nur tlek in Angular-universal-ru
может там есть че то другое?
источник

AI

Alex Inkin in Angular-universal-ru
Нет, вообще ничего нет. Один ресолвер, который запрашивает у фаербейса простенький объект. Один компонент, который из DI берёт из data роута этот объект и всё. Если в ресолвере запрос на фаербейс заменяю на of({} as any) то всё работает.
источник

AI

Alex Inkin in Angular-universal-ru
Нет какого-то способа SSR`у сказать: забей, больше не жди ничего? )
источник

nt

nur tlek in Angular-universal-ru
не делай ресолвер
источник

nt

nur tlek in Angular-universal-ru
если интернет плохой то плохой ux
источник

AI

Alex Inkin in Angular-universal-ru
Плохой интернет меня не интересует, это приложение медиа-хэви, им в принципе нет смысла пользоваться с интернетом хуже 3G, а с ним такая мелочь ресолвится быстро. Мне важно, чтобы это дело попало в DI, люблю, когда всё статично.
источник
2020 November 27

AI

Alex Inkin in Angular-universal-ru
Если кому-то интересно, завёл на это issue в @angular/fire:
https://github.com/angular/angularfire/issues/2695
Ну а пока заплатку сделал - запускаю ресолвер вне зоны и вроде всё работает, и в SSR и в CSR.
источник

nt

nur tlek in Angular-universal-ru
а как запускаешь ресолвер вне зоны?
источник

nt

nur tlek in Angular-universal-ru
или запрос вне зоны для файрбейс?
источник

AI

Alex Inkin in Angular-universal-ru
Сам запрос в методе resolve
источник

nt

nur tlek in Angular-universal-ru
а понял
источник