Вопрос можно ли в этом коллбеке эти все запросы перенаправлять на другой хост?

|
ngSamurai 2022-07-01 10:53:43
dopusteam 2022-07-01 10:53:15
Что происходит то?

angular_ru-570196.jpg

dopusteam 2022-07-01 10:54:53
ngSamurai 2022-07-01 10:53:43

А зачем шпиона на каждый объект? Нельзя объект, в который сложить другие и в последний пихнуть уже метод и на метод уже шпиона?

ivanov_op 2022-07-01 10:55:23
osbrut 2022-07-01 10:14:42
<div
[exclude]=»‘li.select-all-regions'»
(clickOutside)=»close($event)»
>
<ul class=»regions»>
<li
(click)=»selectAllRegions()»
class=»select-all-regions»>
Выбрать всё
</li>
</ul>
</div>

Вот такой шаблон, при клике на Выбрать всё не должен срабатывать clickOutside, но он срабатывает

Помогите пожалуйста, я на это уже час времени угробил, почему не адекватно себя ведет деректива кто шарит?

как метод то выглядит? который закрывает все?

ngSamurai 2022-07-01 10:55:33
dopusteam 2022-07-01 10:54:53
А зачем шпиона на каждый объект? Нельзя объект, в который сложить другие и в последний пихнуть уже метод и на метод уже шпиона?

не совсем понял, что ты имеешь ввиду

dopusteam 2022-07-01 10:55:34
ngSamurai 2022-07-01 10:52:40
не помогает )

Вообще код выглядит странно.

dopusteam 2022-07-01 10:57:38
ngSamurai 2022-07-01 10:55:33
не совсем понял, что ты имеешь ввиду

const swiperRef = { } …;
spyOn(dashboardSlider).and.return( { swiper: swiperRef: swiperRef });
const spy = spyOn(swiperRef, ‘disable’).callThrough();

expect(const).toHaveBeenCalled();

osbrut 2022-07-01 10:59:46
ivanov_op 2022-07-01 10:55:23
как метод то выглядит? который закрывает все?

Там просто консоль лог и все

john_babon 2022-07-01 11:07:37
angular_ru-570204.jpg

john_babon 2022-07-01 11:07:37
angular_ru-570203.jpg
ребят нормально так писать? если приходит поле с типом, и мне не нужно его в конструкторе, так как поле приходит из вне
tony_001Os 2022-07-01 11:08:57
john_babon 2022-07-01 11:07:37
ребят нормально так писать? если приходит поле с типом, и мне не нужно его в конструкторе, так как поле приходит из вне

сделай Observable его) и через пайп получай) Ну или спасет *ngIf=»field», но лучше конечно наблюдаемым сделать его

john_babon 2022-07-01 11:09:36
tony_001Os 2022-07-01 11:08:57
сделай Observable его) и через пайп получай) Ну или спасет *ngIf=»field», но лучше конечно наблюдаемым сделать его

окей, спасибо

boris4life 2022-07-01 11:11:17
Компонент отрисовывается при открытии сайдбара, берет данные из BehSubj через @input и рисует echarts график. При закрытии и открытии компонент пропадает и появляемся, а потому теряет значение BS и заново отрисовывет мокдату из onInit хука, как можно сделать так, чтобы при повторном открытии закрытии он вытягивал BS
dopusteam 2022-07-01 11:11:49
boris4life 2022-07-01 11:11:17
Компонент отрисовывается при открытии сайдбара, берет данные из BehSubj через @input и рисует echarts график. При закрытии и открытии компонент пропадает и появляемся, а потому теряет значение BS и заново отрисовывет мокдату из onInit хука, как можно сделать так, чтобы при повторном открытии закрытии он вытягивал BS

Храните данные в сервисе

boris4life 2022-07-01 11:13:55
Была такая мысль. Таск на багфикс, а весь функционал запросов в суперклассе реализован и вот я не знаю, есть ли решение кроме рефакторинга проекта с вынесением функционала в целевые сервисы
boris4life 2022-07-01 11:15:46
А, все я понял о чем вы, спасибо попробую, возможно смогу так сделать!) 😁
dopusteam 2022-07-01 11:15:50
boris4life 2022-07-01 11:13:55
Была такая мысль. Таск на багфикс, а весь функционал запросов в суперклассе реализован и вот я не знаю, есть ли решение кроме рефакторинга проекта с вынесением функционала в целевые сервисы

А через input при повторном открытии данные не приходят разве?

boris4life 2022-07-01 11:17:40
Не знаю… Возможно они перебиваются мокдатой из хука
boris4life 2022-07-01 11:17:54
angular_ru-570213.jpg

john_babon 2022-07-01 11:32:58
tony_001Os 2022-07-01 11:08:57
сделай Observable его) и через пайп получай) Ну или спасет *ngIf=»field», но лучше конечно наблюдаемым сделать его

А как получить? В компоненте сделать пайп, или как-то в шаблоне можно получить

DimaAngular 2022-07-01 11:33:03
angular_ru-570215.jpg
Всем привет. А как можно вот эти два контейнера объединить в один?
zelikov_daniil 2022-07-01 11:34:20
DimaAngular 2022-07-01 11:33:03
Всем привет. А как можно вот эти два контейнера объединить в один?

только если поток свой создать от tableData$, где ты проверишь и на null и на length

zelikov_daniil 2022-07-01 11:34:54
но если дальше в коде хочешь юзать as tableData, то всё равно второй контейнер сделаешь
DimaAngular 2022-07-01 11:35:21
zelikov_daniil 2022-07-01 11:34:20
только если поток свой создать от tableData$, где ты проверишь и на null и на length

спасибо

zelikov_daniil 2022-07-01 11:35:35
zelikov_daniil 2022-07-01 11:34:20
только если поток свой создать от tableData$, где ты проверишь и на null и на length

но это в целом будет декларативнее

tony_001Os 2022-07-01 11:37:26
john_babon 2022-07-01 11:32:58
А как получить? В компоненте сделать пайп, или как-то в шаблоне можно получить

родитель: public wait$: Observable<boolean> = of(true); <child [wait]=»wait$ | async»></child> Дочерний: @Input() wait: boolean; Можешь через input так же прямо Observable передавать и с ним возиться уже в дочернем, wait просто для примера, что в голову первое пришло

john_babon 2022-07-01 11:38:43
tony_001Os 2022-07-01 11:37:26
родитель: public wait$: Observable<boolean> = of(true); <child [wait]=»wait$ | async»></child> Дочерний: @Input() wait: boolean; Можешь через input так же прямо Observable передавать и с ним возиться уже в дочернем, wait просто для примера, что в голову первое пришло

Спасибо, иду разбиратьсч

ngSamurai 2022-07-01 12:01:14
dopusteam 2022-07-01 10:57:38
const swiperRef = { } …;
spyOn(dashboardSlider).and.return( { swiper: swiperRef: swiperRef });
const spy = spyOn(swiperRef, ‘disable’).callThrough();

expect(const).toHaveBeenCalled();

так тоже не работает

ngSamurai 2022-07-01 12:06:01
angular_ru-570224.jpg

dopusteam 2022-07-01 12:07:05
ngSamurai 2022-07-01 12:06:01

Я думаю, что проблема в том, что компонент ходит в другой DashboardSlider. Откуда он его получает? Реальный компонент

ngSamurai 2022-07-01 12:07:35
dopusteam 2022-07-01 12:07:05
Я думаю, что проблема в том, что компонент ходит в другой DashboardSlider. Откуда он его получает? Реальный компонент

page->DashboardSlider->swiper

dopusteam 2022-07-01 12:07:51
ngSamurai 2022-07-01 12:07:35
page->DashboardSlider->swiper

С точки зрения кода, откуда он его берёт? Из конструктора?

ngSamurai 2022-07-01 12:07:59
@ViewChild(‘dashboardSlider’, { static: false }) dashboardSlider?: DashboardSliderComponent;
а в нем уже

@ViewChild(‘swiper’, { static: false }) swiper?: SwiperComponent;

dopusteam 2022-07-01 12:08:51
ngSamurai 2022-07-01 12:07:59
@ViewChild(‘dashboardSlider’, { static: false }) dashboardSlider?: DashboardSliderComponent;
а в нем уже

@ViewChild(‘swiper’, { static: false }) swiper?: SwiperComponent;

Ну так вот. То, что в тесте замокали — компоненту похер. Смотрите как мокать viewChild. Ну я так думаю 🤔

dopusteam 2022-07-01 12:12:58
Под дебагом запустите, посмотрите чему там slider равен внутри компонента
AnatolyUser 2022-07-01 12:17:39
Имею проект для запуска в режиме Server Side Render. Там есть файл server.ts в котором прописано, что
все запросы начинающиеся с /api буду обрабатываться в этом коллбеке:

server.get(‘/api/**’, (req, res) => {
res.status(404).send(‘data requests are not yet supported’);
});

Вопрос можно ли в этом коллбеке эти все запросы перенаправлять на другой хост?

tony_001Os 2022-07-01 12:18:39
john_babon 2022-07-01 11:38:43
Спасибо, иду разбиратьсч

сорян, я тебя тут обманул. Без хука ngOnChanges не получится. https://coderoad.ru/49662341/Как-передать-значение-observable-в-Input-Angular-4

Как передать значение observable в @Input() Angular 4
— CodeRoad
coderoad.ru
Условно DynamicFormService.getAnswers(‘CAR00PR’) это asynchronous (probably он и есть), с помощью async Pipe , чтобы передать асинхронный результат находится на правильном пути, но вы не можете…
tony_001Os 2022-07-01 12:19:58
ребят, есть вариант, как в дочерний компонент передать Observable из родителя? без использования хука OnChanges ? Через ngIf вываливается тоже undefined
dopusteam 2022-07-01 12:20:46
tony_001Os 2022-07-01 12:19:58
ребят, есть вариант, как в дочерний компонент передать Observable из родителя? без использования хука OnChanges ? Через ngIf вываливается тоже undefined

А зачем observable? Не проще через async pipe данные уже?

tony_001Os 2022-07-01 12:23:01
dopusteam 2022-07-01 12:20:46
А зачем observable? Не проще через async pipe данные уже?

та вроде так и передаю)

dopusteam 2022-07-01 12:23:42
tony_001Os 2022-07-01 12:23:01
та вроде так и передаю)

А почему без onChanges?

john_babon 2022-07-01 12:24:33
dopusteam 2022-07-01 12:20:46
А зачем observable? Не проще через async pipe данные уже?

Я просто на ангулар с реакта пересел, и хз как правильно передавать, мне из стора приходит обект в родителя, а родитель передает его чилдрену, мне обект сделать обсервабл и гуглить как передавать обсервабл?

tony_001Os 2022-07-01 12:25:44
dopusteam 2022-07-01 12:23:42
А почему без onChanges?

потому что это одно известное решение 😁 Интересно, есть ли более красивое решение

boris4life 2022-07-01 12:30:54
dopusteam 2022-07-01 11:15:50
А через input при повторном открытии данные не приходят разве?

Я нагуглил статью на эту тему, кажется это даже подойдет для моего когда
https://levelup.gitconnected.com/why-angular-input-setter-is-only-being-fired-once-53f1a66b1716

Why Angular Input Setter is Only Being Fired OnceMedium
Examine various approaches to pass data between components
iarakelov 2022-07-01 12:31:24
angular_ru-570242.jpg

iarakelov 2022-07-01 12:31:24
angular_ru-570241.jpg
Всем привет. Подскажите плиз, может кто сталкивался, в проекте используется либа copass-mixinss. Подняли версию angular =>V12 и при билде выкидывает предупреждения. Как заигнорить предупреждения, и что тут в синтаксисе значит * ?
maximeLyakhov 2022-07-01 12:34:12
Сори за пасту, стакблиц отказывается крутить свежий проект на 14. Почему родительский темплейт успешно устанавливает disabled и value, но не выдаёт ничего при подписке на valueChanges?

@Component({
selector: ‘ui-input’,
templateUrl: ‘./input.component.html’,
styleUrls: [‘./input.component.scss’],
changeDetection: ChangeDetectionStrategy.OnPush,
providers: [
{
provide: NG_VALUE_ACCESSOR,
useExisting: forwardRef(() => InputComponent),
multi: true,
},
],
})
export class InputComponent implements ControlValueAccessor, OnInit {
@ViewChild(‘input’, { static: true }) input!: ElementRef<HTMLInputElement>;
control = new UntypedFormControl();
value: unknown;
onChange: unknown;
onTouch: unknown;

constructor(private cdr: ChangeDetectorRef) {}

ngOnInit(): void {
this.control.valueChanges
.pipe(tap((value) => this.registerOnChange(value)))
.subscribe(() => this.cdr.detectChanges());
}

registerOnChange(fn: unknown): void {
this.onChange = fn;
}

registerOnTouched(fn: unknown): void {
this.onTouch = fn;
}

writeValue(value: unknown): void {
this.value = value;
this.control.setValue(value, { emitEvent: false });
}

setDisabledState(disabled: boolean) {
disabled ? this.control.disable() : this.control.enable();
}

focus() {
this.input.nativeElement.focus();
}
}

xursand7777 2022-07-01 12:39:56
есть момент, у меня в ngrx action отрабатывает, а reducer не меняет state.Как проверить reducer?
dopusteam 2022-07-01 12:41:38
xursand7777 2022-07-01 12:39:56
есть момент, у меня в ngrx action отрабатывает, а reducer не меняет state.Как проверить reducer?

Поставить breakpoint в него. Показать код

xursand7777 2022-07-01 12:42:29
окей
tony_001Os 2022-07-01 12:46:00
john_babon 2022-07-01 12:24:33
Я просто на ангулар с реакта пересел, и хз как правильно передавать, мне из стора приходит обект в родителя, а родитель передает его чилдрену, мне обект сделать обсервабл и гуглить как передавать обсервабл?

оно все-таки работает))

|