Я использую Flex 4.5 и пытаюсь воспользоваться новой функцией групп состояний.У меня есть два State
s (назовите их readType1 и readType2), которые оба принадлежат одному и тому же stateGroup
(назовите его readOnly).Есть несколько мест, где я хотел бы сделать что-то на основе текущего состояния, и это было бы то же самое для двух состояний чтения.Например:
if (this.currentState == "readType1" || this.currentState == "readType2")
{
//do stuff
}
Мне интересно, есть ли способ изменить это так, чтобы он основывался на stateGroup
(потому что логически это действительно то, на чем он основан, а не на реальных точных состояниях)в легкий путь.Я хотел бы сделать что-то вроде:
if (this.currentStateGroup == "readOnly")
{
//do stuff
}
или не получилось
if (this.currentStateObject.stateGroups.indexOf("readOnly") >= 0)
{
//do stuff
}
Я не смог найти способ получить имя текущего stateGroup
,и не получить фактический объект State
для текущего состояния (currentState
- это просто строка) без циклического перебора this.states
.Я надеюсь, что что-то упустил, и есть способ легко это сделать ...
Я думал, что это то, с чем должны были помогать группы состояний: группировать общее поведение.Или я неправильно понимаю суть государственных групп?На них не так много примеров или много информации, и примеры, которые я нашел, не были достаточно хороши, чтобы действительно понять, как их можно использовать в реальном приложении.
В любом случае, если кто-то знает оспособ сделать то, что я хочу, я буду признателен, или если я думаю, что все это неправильно, пожалуйста, дайте мне знать.Спасибо.