У меня уже есть приложение AngularJS (1.6) , созданное с некоторыми компонентами.Само приложение является просто демонстрацией некоторых старых и уже существующих директив AngularJS .Я реализовал их внутри некоторых компонентов, чтобы просто напечатать их на интерфейсе пользователя.
В последнее время я изучаю Redux (я все еще новичок в этом) и хочу реализовать правильное поведение приведения во всем проекте.Насколько я понял, существует одно состояние приложения , где все данные неизменны и односторонне связаны вплоть до его компонентов, которые используют события, созданные его родителями.используя редукторы, воссоздайте состояние приложения и измените данные соответствующим образом.
Теперь моя проблема в том, что это уже существующие директивы , предназначенные для сами изменяют данные, они не запускают события.
Например, этот указатель даты:
Контейнерный компонент имеет этот код
<example-datepicker date="model.date"></example-datepicker>
Компонент Datepicker использует привязки этого контроллера
bindings: {
date: '='
}
И этот шаблон , который буквально использует старую директиву, которую я упомянул
<date-picker date-model="model.date" name="dateForm"></date-picker>
Что ж, теперь директива datepicker отвечает только за отображение datepicker и за изменение модели всякий раз, когда при использовании выбирается дата.Теперь представьте, что в моем состоянии приложения есть эта строка «дата».Он должен быть неизменным , тогда директива не должна его менять, верно?
Должен ли я изменить директиву соответственно для такого поведения,если нет, как мне вызвать это в событие?Я думал об использовании функции $ onChanges компонента, но для этого требуется двусторонняя привязка , которая буквально меняет модель , и это меняетсостояние, которое должно быть неизменным .
Правильно ли я понял излишне, или это поведение State> Component> Directive , которое я пытаюсь использовать, просто невозможно с Redux?
Заранее спасибо