Size: a a a

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

2021 May 17

V

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

Я смотрел вот этот пример, здесь для того чтоб на вьюхе значение обновить напрямую сетится значение   this.elementRef.nativeElement.value = numberWithCommas(value);
Но мне этот подход как-то не очень нравится - как по мне это своего рода хак, но наверно другого верного способа нет

https://github.com/kievsash/ngx-material-tools/blob/master/projects/ngx-material-tools/src/lib/mat-input-commified.directive.ts
источник

s

stogram in Angular - русскоговорящее сообщество
Я представляю это примерно так. верхний компонент по какой-то логике меняет с режима ввода на режим отображения. Тогда не нужно на прямую в элемент лезть
источник

s

stogram in Angular - русскоговорящее сообщество
<td pEditableColumn>
               <p-cellEditor>
                   <ng-template pTemplate="input">
                       <input pInputText type="text" [(ngModel)]="rowData.vin">
                   </ng-template>
                   <ng-template pTemplate="output">
                       {{rowData.vin}}
                   </ng-template>
               </p-cellEditor>
           </td>
источник

V

Viktor in Angular - русскоговорящее сообщество
спасибо! посмотрю в эту сторону
источник

LD

Lois D in Angular - русскоговорящее сообщество
Подскажите, пожалуйста, что нужно сделать, чтобы получить последнее значение BehaviorSubject


У меня есть такой сервис (1 скрин), я сначала сечу юзера, потом хочу получить его и присвоить переменной.
this.user = this.service.getUser();

Но в переменной оказывается анонимный сабжект
Что я делаю не так?
источник

LD

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

BB

Bogdan Bida in Angular - русскоговорящее сообщество
Мб надо не новый сабджект создавать а делать .next() ?
источник

LD

Lois D in Angular - русскоговорящее сообщество
Так его ж надо сначала создать и что-то туда положить
источник

LD

Lois D in Angular - русскоговорящее сообщество
Не совсем понимаю
источник

LD

Lois D in Angular - русскоговорящее сообщество
Типа сначала создать и null положить, а потом next(user)?
источник

BB

Bogdan Bida in Angular - русскоговорящее сообщество
У тебя по коду нет никакого смысла в сабджекте

Делай хотя бы проверку если он не заиничен то создай, если экземпляр есть то некст

Более того, по тому коду что есть там вообще не нужна реактивность а просто get set
источник

LD

Lois D in Angular - русскоговорящее сообщество
Почему? Я делаю запрос на api, мне возвращается пользователь. Чтобы не было слишком много логики в компоненте я решил сделать behavior subject
Раньше я просто в subscribe это все делал в родительской компоненте и через input передавал дочерней компоненте уже готовую модель User
источник

RM

R M in Angular - русскоговорящее сообщество
Привет. Не знаешь случаем, на уровне проекта нельзя ли родительский angular.json перезаписать?

К примеру я не хочу чтобы на определенном проекте не было тестов, а на либах да.

В доках не нашел, хм
источник

RM

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

BB

Bogdan Bida in Angular - русскоговорящее сообщество
В большинстве случаев это норм практика
источник

BB

Bogdan Bida in Angular - русскоговорящее сообщество
Без понятия, для разделения проектов юзал nrwl
источник

LD

Lois D in Angular - русскоговорящее сообщество
Я сделал так. Но все же основной вопрос — как передавать переменной не анонимный сабжект а модель юзер? Подскажите пожалуйста
источник

RM

R M in Angular - русскоговорящее сообщество
Ммм, так, у кого монолит в проекте
источник

RM

R M in Angular - русскоговорящее сообщество
@waterplea Hey Alex!

У вас ведь монолит?

Как вы разруливаете angular.json на дочерних либах/проектах?
источник

BB

Bogdan Bida in Angular - русскоговорящее сообщество
user$ = new BehaviorSubject<User | null>(null);

setUser(user: User): void { this.user$.next(user); }

getUser(): User { return user$.getValue(); }

Для подписок user$

Для нереактивного получения getUser для засечивания с возможностью добавления доп логики setUser
источник