AngularJS, лучшая практика для обмена данными между корзиной покупок и списком продуктов - PullRequest
1 голос
/ 03 ноября 2019

в моем приложении AngularJS есть 2 контроллера: первый для списка продуктов и второй для корзины покупок. Каков наилучший способ разрешить поток данных, когда продукт добавляется из списка продуктов в корзину покупок или удаляется из корзины покупок, а его статус изменяется в элементе списка товаров. Отправлять ли продукт, который был добавлен / удален во время данного события службой, на другой контроллер и изменить область действия в нем. Или лучше поработать над одной областью для двух контроллеров и обновить ее сервисом. Или есть лучший метод?

1 Ответ

0 голосов
/ 03 ноября 2019

Я бы рекомендовал использовать сервис в качестве среды для связи между контроллерами. Служба будет гарантировать, что состояние данных остается неизменным. В надежде, что вы используете отдельную область для каждого контроллера, оптимальным способом будет использование службы для обновления данных в области. Другой способ, который я бы предложил, - это использовать какой-нибудь магазин (шаблон Flux), поскольку вы сильно зависите от данных, имеющихся в вашей области. Реализация может быть немного сложной, так как вы используете Angular 1.x, но это того стоит. PS: также рекомендовал бы использовать модель представления вместо использования области действия непосредственно в ваших контроллерах и воздерживаться от использования глобальной области действия.

...