Как изменить состояние просмотра? - PullRequest
0 голосов
/ 22 сентября 2010

Ниже приведена упрощенная версия моего mxml:

<s:BorderContainer>
 <s:states>
  <s:State name="create"/>
  <s:State name="edit"/>
 </s:states>
 <s:transitions>
  <s:Transition fromState="create" toState="edit">
   <s:Sequence target="{creation}">
    <s:Fade/>
    <s:RemoveAction/>
   </s:Sequence>
  </s:Transition>
 </s:transitions>
 <comp:create includeIn="create"/>
 <comp:edit includeIn="edit"/>
</s:BorderContainer>

В пределах <comp:create includeIn="create"/> У меня есть кнопка, которая однажды нажала на вызовы: this.parent.currentState='edit'. Но по какой-то причине я получаю следующую ошибку: «Термин не определен и не имеет свойств ...», который указывает на строку this.parent.currentState='edit'. Кто-нибудь, что не так? Спасибо.

1 Ответ

0 голосов
/ 28 сентября 2010

Вы можете инкапсулировать это намного лучше.

Убедитесь, что ваш компонент повторно отправляет событие click, и вы можете сделать это, что намного приятнее (а также имеет преимущество в том, что вы не связываете свой объект create иредактировать компоненты в BorderContainer)

что-то вроде ...

<s:BorderContainer id="contentHolder">
    <s:states>
        <s:State name="create"/>
        <s:State name="edit"/>
    </s:states>
    <s:transitions>
        <s:Transition fromState="create" toState="edit">
            <s:Sequence target="{creation}">
                <s:Fade/>
                <s:RemoveAction/>
            </s:Sequence>
        </s:Transition>
    </s:transitions>

    <comp:create includeIn="create" click="contentHolder.currentstate='edit'"/>
    <comp:edit includeIn="edit" click="contentHolder.currentstate='create'"/>
</s:BorderContainer>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...