Как да напишем директиви (компоненти), които взаимодействат помежду си

Има такъв пример в документацията https://docs.angularjs.org/guide/directive (раздел „Създаване на директиви, които комуникират“) В този пример директивите в дървото на къщата са поставени „една в друга“, в моя случай дърветата на директивите на къщата не се пресичат. Случай: Има решетка с таблица вътре, редове в мрежата могат да се добавят и премахват от контроли вътре в блока, но трябва да е възможно да се преместват контроли на произволно място на страницата Трябва ли да внедря този бизнес в директиви или това е достатъчен компонент? Планирам да направя мрежата компонент и да преместя създаването на обекта на мрежата във фабриката, в същата фабрика ще има метод, който връща вече създадената мрежа с методи за управление на низове.

Може да има няколко решетки на страницата и за някои премахвам контролите, а за други не, поради което смятам да използвам фабриката.

В този пример директивите в дървото на къщите са поставени "една в друга", в моя случай дърветата на къщите на директивите не се пресичат.

Следователно те не трябва да си взаимодействат директно.

Схемата е изградена така. Директивата/компонентът иска от услугата да промени състоянието, услугата променя състоянието и по някакъв начин задейства този бизнес (събития, презареждане на състояние), разработва резолверите и зарежда нова част от състоянието. Този случай се хвърля в компонентите чрез свързвания.

Тоест в идеалния случай компонентите нямат представа откъде идва държавата и не я променят сами, те молят услугите да направят това. Така че промените вървят в кръг и можете да организирате всяко ниво на логика.

Объркан съм само от необходимостта да търся фабриката за мрежата, от която се нуждая, тъй като може да има няколко от тях на страницата. И също така искам да изясня какво означава „Това е случаятсе хвърля в компоненти чрез свързвания" Въз основа на документацията, компонент може да изпълнява функции, препратени като '&FunHandler', т.е. компонент може да докладва своето състояние, как може компонент да изложи своите "слушатели"?

Колко правилен е подходът, ако оставя линк към методите на грид инстанцията във фабриката и други контролери ще могат да използват тези методи?

Владимир: какъв вид търсене във фабриката? Фабриката е начин за създаване на услуга. Вие не работите с фабриката като резултат, а с услугата, която фабриката създава.

Обратните извиквания са удобни за по-голяма повторна употреба на компонентите. След това можете да прехвърлите отговорността за извиквания на услуги към компонент от по-високо ниво, който ръководи. Така че можем да намалим свързването.