У меня есть проект на основе Angular 5. Допустим, у меня есть два компонента: ParentComponent
и ChildComponent
. ChildComponent
имеет общедоступный сеттер с декоратором @Input()
. Я передаю ему свойство из родительского компонента, которое будет изменено позже.
Моя проблема в том, что этот сеттер не работает с картами, интерфейсами, такими объектами, как
{ [ key: string ]: boolean }
только с массивами и примитивами.
Ну, это работает, но только один раз.
Я уже понимаю, что это что-то с типом данных, но кто может дать хорошее объяснение или ссылку на документы? Не нашел разрешенных типов данных на веб-сайте Angular с документами.
Что здесь не так?
Ссылка на плункер, если кому нужно: https://plnkr.co/edit/WBS55F3wZSYI0qGNEGSd?p=preview
Как видите, есть 3 сеттера, они работают в первый раз, потом работают только сеттеры Array и String. Почему?
Обновление: похоже, это работает, если я изменяю на карте какое-то значение по его ключу, который уже существует, но не работает, если я добавляю новую пару ключ => значение.