169 похожих чатов

Итак, задача состоит в том, что у нас есть копонент

в который вложен другой компонент. Вложенный компонент имеет @Input через который биндится переменная родительского. Во вложенном компоненте bind делается через getter/setter, то есть в setter я отлавливаю изменение значения переменной и делаю что-то. Иногда родительский компонент после какой-то операции должен инициировать выполнение этого чего-то. Но переменная не меняет своего значения. То есть setter не вызывается. Как это сделать ?

И живой пример. Родительский компонент - форма заказа. Вложенный - список товаров в заказе. Переменная - ID заказа (по нему обновляется список товаров). Родительский компонент добавляет товар через отдельную форму, и теперь нужно обновить список товаров, то есть нужно известить вложенный компонент, что это надо сделать, используя binding. ID заказа не поменялся. Как дернуть setter списка товаров?

2 ответов

9 просмотров

через ngOnChanges не пробовали?

Есть несколько простых решений, как это можно сделать. Выберите, что вам подходит лучше. 1. Если родительский компонент знает о том, как менять товары, то пусть он и знает как их получать. Тогда ваш дочерний компонент будет получать этот список от родительского через Input и сразу же отображать. 2. Вам необходимо сделать некий общий сервис, в котором будет храниться актуальное состояние списка товаров. Все изменения будут отправляться подписчикам этого сервиса. Синхронизация данных будет проходить внутри приложения. 3. У вас будут разные инстансы этого сервиса - один для Родительского компонента, другой для дочернего. Сервисы делают подписку на данные с websocket. При изменении товаров, родительский компонент будет отправлять запрос на api, а backend будет присылать новые данные всем подписчикам по websockets.

Похожие вопросы

Обсуждают сегодня

type TObj = object procedure Init; virtual; end; TObj1 = object(TObj) procedure Init; override; end; procedure TObj1.Init; begin inherited; end; procedur...
Alexander 👋
29
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
45
А чем вам питонисты не угодили?😂
.
79
Можно ли загрузить скрипт py в бота чтобы он работал по нему? как это сделать?
huskadam #RCC Фанат? @hitlerpvp
13
Всем здравствуйте! Я хотел узнать сколько стоит средняя месячная зарплата у Electron js разработчиков? Мне очень это важно и нужно, плиз помогите узнать эту инфу! Для Джунио...
U.K.
10
А дин типизация это хорошо или плохо?
Alexey
12
Исходники плюс документация? Вы гоните)) демок хватит всем
zamtmn
11
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
76
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
29
Hello. Could you please help me with finding all coordinates within a radius using a spatial index, given that I have a table with coordinates? SET @lng = 37.57925; SET @lat ...
Rinchin G
7
Карта сайта