Size: a a a

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

2021 April 13

Vi ٩(̾●̮̮̃̾•̃̾)۶... in Angular - русскоговорящее сообщество
всем привет! Помогите в чем может быть проблема? Есть переменная, в сторе обновляется, в верстку выводить ее селектор, но обновляется ток после клика по экрану. OnPush добавлял/убирал - бестолку
источник

OS

Oleg Safonov in Angular - русскоговорящее сообщество
503, я долго ждал)
источник

Д

Дара in Angular - русскоговорящее сообщество
export abstract class DataSourceBaseEntity<T> extends DataSource<T>{
 public dataSourceSubjects = new BehaviorSubject<T[]>([]);
 public allSourceSubjects: Array<T>;
 public apiClient: any;
   constructor( public loadingSubject?:Subject<boolean>){
     super();
     console.log("constructor DataSourceBaseEntity")
     this.loadingSubject = new BehaviorSubject<boolean>(true);
   }
   abstract loadSubjects(): Observable<T[]>;
}
@Injectable()
export class WarehouseTableDataSource extends DataSourceBaseEntity<TaxpayerStoreSimpleDto> {
 public loading = this.loadingSubject.asObservable();
 loadSubjects(): Observable<TaxpayerStoreSimpleDto[]>{
   return this.apiClient.getUserTaxpayerStores().pipe(
       catchError(() => of([])),
       finalize(() => this.loadingSubject.next(false)),
   )
 }
}
@Component({
 selector: 'app-warehouse',
 templateUrl: './warehouse.component.html',
 styleUrls: ['./warehouse.component.scss'],
 providers: [WarehouseTableDataSource],
})
export class WarehouseComponent implements OnInit, OnDestroy {
 menuItems: any[];
 filterForm: FormGroup;
 displayedColumns: string[] = ["name",'externalId',"warehouseTypeCode",
 "status","address","isDefault","isPostingGoods","isInherited","isJointStore","isCooperativeStore","isRawMaterials", 'responsiblePersonIin'];
 reorginized = REORGANIZED;
 warehouseUDSs = WAREHOUSESUDSS;
 statuses = STATUSES;
 private unsubscription$: Subject<void> = new Subject<void>();
 public get TaxpayerStoreStatus(): typeof TaxpayerStoreStatus {
   return TaxpayerStoreStatus;
 }
 public get TaxpayerStoreType(): typeof StoreType {
   return StoreType;
 }
 constructor(
   taxPayerApi: TaxpayerStoreClient,
   private formBuilder: FormBuilder,
   private commonValuesService: CommonUpdateValuesService,
   private titleService: Title,
   public dataSource: WarehouseTableDataSource) {
     this.dataSource.apiClient = taxPayerApi;
     this.titleService.setTitle('Склады');
 }
 ngOnInit() {
   this.filterForm = this.formBuilder.group({
     warehouseName: [],
     reorganizedWarehousePerson: [],
     warehouseUDS:[],
     statusWarehouse: []
   });
   this.dataSource.loadSubjects()
     .pipe(takeUntil(this.unsubscription$))
     .subscribe((data) => {
       this.dataSource.dataSourceSubjects.next(data);
     });
 }
 ngOnDestroy(): void {
   console.log("warehoudse component destroyed")
   this.unsubscription$.next();
   this.unsubscription$.complete()
 }
}
источник

ДМ

Денис Макаров... in Angular - русскоговорящее сообщество
WarehouseTableDataSource - тут конструктор пустой объяви с вызовом super()
источник

Д

Дара in Angular - русскоговорящее сообщество
я решил проблему убрав из конструктор абстрактного класса параметр public loadingSubject?:Subject<boolean> и выносил его вне конструктора.
источник

Д

Дара in Angular - русскоговорящее сообщество
ааа точно)
источник

ДМ

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

🏡К

🏡 Назар Калитюк... in Angular - русскоговорящее сообщество
Всем привет. У меня есть переменная компонента какого то. Далее она где то меняется, я не знаю где. Хочу найти это место в дебаге. Есть какой то способ через дебаг отследить изменения? Видел есть watch, можно как то его заюзать?
источник

BB

Bogdan Bida in Angular - русскоговорящее сообщество
Гуглил про watch?
источник

W

Web21 in Angular - русскоговорящее сообщество
как в ангулар решается проблема с CORS ?
источник

D

Dmitry in Angular - русскоговорящее сообщество
корс - это не бекенд штука, а не фронтенд
источник

D

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

W

Web21 in Angular - русскоговорящее сообщество
через BLOOMRPC тестим бековский  метод он работает, в браузере нет
источник

BB

Bogdan Bida in Angular - русскоговорящее сообщество
Либо прокси (если ресурс чужой но есть доступ)
Либо настройкой корс на бэке
источник

🏡К

🏡 Назар Калитюк... in Angular - русскоговорящее сообщество
ну да. Оно работает только внутри функции где я сделал watch. А переменная может измениться где то в другом месте
источник

BB

Bogdan Bida in Angular - русскоговорящее сообщество
Переименуй переменную и посмотри где вылетит ошибка😅
источник

🏡К

🏡 Назар Калитюк... in Angular - русскоговорящее сообщество
скопировал ссылку в window. Так видно переменную. Теперь нужно как то остановить приложение, когда изменится поле. Есть такая возможность?
источник

AB

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

BB

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

DK

Dmitriy Konopliannik... in Angular - русскоговорящее сообщество
Покажите код, пожалуйста. А то вариантов много
источник