Size: a a a

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

2021 June 18

OP

Oleg P in Angular - русскоговорящее сообщество
Доброго!

Есть два объекта от сервера:

interface Room {
  id: number,
  name: string
}

В цикле обхожу их поля и сравниваю. Если они не равны - подсвечиваю. Как лучше и где хранить признак неравенства? (чтобы подсветить).

Можно добавить еще одной свойство: diff: boolean; но на сервере такого поля нет
источник

RY

Roman Yazvinsky in Angular - русскоговорящее сообщество
В массиве. Заведите новый интерфейс Diff {source: Room, target: Room, property: keyof Room} и кладите их в массив
источник

PW

Pan Włodzimierz in Angular - русскоговорящее сообщество
а как убрать тэг app-add-todos, потому что флекс стайл flex-grown-1 не будет работать если будет app-add-todos?
источник

OP

Oleg P in Angular - русскоговорящее сообщество
т-е массив из Diff[] ?

а как потом вытягивать поле? из шаблона не очень хочется дергать функцию и передавать room
источник

PW

Pan Włodzimierz in Angular - русскоговорящее сообщество
ну вернее не убрать
а типа
ну как убрать из html дома?
источник

RY

Roman Yazvinsky in Angular - русскоговорящее сообщество
Или так: Diff {valueOfProperty1: any, valueOfProperty2: any, property: keyof Room }
источник

RY

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

RY

Roman Yazvinsky in Angular - русскоговорящее сообщество
<div app-add-todo> можно, если сделать в компоненте селектор "[app-add-todo]"
источник

RY

Roman Yazvinsky in Angular - русскоговорящее сообщество
А вообще чем он вам мешает? С флексом теги дружат, просто стили задайте
источник

OP

Oleg P in Angular - русскоговорящее сообщество
что-то не понял как из шаблона это дергать. для ngClass="hasChanged: ...."
источник

PW

Pan Włodzimierz in Angular - русскоговорящее сообщество
та типа да, но
я же компонент пару раз буду гдето юзать
поэтому каждый раз писать нет смысла
источник

RY

Roman Yazvinsky in Angular - русскоговорящее сообщество
Это в стилях компонента app-add-todo можно задать через :host
источник

PW

Pan Włodzimierz in Angular - русскоговорящее сообщество
ну а в продакшине тэг же пропадет
разве нет?
источник

RY

Roman Yazvinsky in Angular - русскоговорящее сообщество
нет. Это ютуб
источник

PW

Pan Włodzimierz in Angular - русскоговорящее сообщество
так ютуб не на англуляре написан
источник

RY

Roman Yazvinsky in Angular - русскоговорящее сообщество
Окей, васд
источник

RZ

Roman Zinchuk in Angular - русскоговорящее сообщество
Сделай pipe, который принимает как аргумент второй обьект мб и  возвращает мепу с изменениями в которой ключ это название проперти, а значение это значение. Его вообще можно будет переиспользовать, а если подключишь либу чтоб аннотации с класов и свойств сдирать, тогда можно на классах аннотациями отключать свойства из проверки или еще какие красивые вещи делать.
источник

RY

Roman Yazvinsky in Angular - русскоговорящее сообщество
hasChanged: diff.value1 === diff.value2
или diff.hasChanged, т.е. посчитать заранее
источник

OP

Oleg P in Angular - русскоговорящее сообщество
спасибо  - сейчас набросаю
источник
2021 June 19

OP

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