Flex - Как изолировать valueObjects или CallResponders? - PullRequest
0 голосов
/ 08 августа 2011

Я опишу мою проблему настолько подробно, насколько это возможно, чтобы вопрос имел смысл. У меня есть TabNavigator и каждая вкладка является модулем.

У меня есть две вкладки, Люди и Отделы (т.е. у меня есть два модуля, People.mxml и Departments.mxml), и в каждой из них определено одно и то же пространство имен: xmlns:valueObjects="valueObjects.*". В обоих модулях я делаю некоторые сервисные звонки.

У меня есть две службы: PeopleService и DepartmentService. В обоих модулях у меня определены следующие значения valueObjects:

<valueObjects:Person id="person"/>
<valueObjects:Department id="department"/>

и определены следующие ответчики вызовов:

<s:CallResponder id="getPeopleResult" result="person = getPeopleResult.lastResult as Person;"/>
<PersonService:PersonService id="personService" fault="Alert.show(event.fault.faultString + '\n' + event.fault.faultDetail)"
showBusyCursor="true"/>

<s:CallResponder id="getDepartmentsResult" result="department = getDepartmentsResult.lastResult as Department;"/>
<DepartmentService:DepartmentService id="departmentService" fault="Alert.show(event.fault.faultString + '\n' + event.fault.faultDetail)"
showBusyCursor="true"/>

У меня есть dataGrid на вкладке Люди и сетки данных, в которых перечислены все люди и все отделы. Когда я нажимаю на строку в сетке данных, я получаю заполненную форму данных без проблем. DataGrids на вкладке Отделы работают. Однако, когда я щелкаю по dataGrid, подробные формы не заполняются, а значение объекта и отдела отслеживаются как NULL.

Если я отключу вкладку «Люди», форма «Подробности» на вкладке «Отделы» будет работать нормально.

Что я сделал в попытке решить проблему: Предоставление уникальных идентификаторов всем valueObjects и ServiceCalls. Это не сработало.

Возможно, проблема в том, что: ValueObjects из двух модулей каким-то образом совместно используются в памяти. Это не должно иметь место, поскольку данные модуля должны быть изолированными.

Есть идеи, как решить эту проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...