Идентификация узлов состояния¶
По-умолчанию идентификатором id
узла состояния является его полный путь с разделителями. Вы можете использовать этот идентификатор id
по-умолчанию, чтобы указать узел состояния:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
|
Относительные цели¶
Узлы дочернего состояния могут быть нацелены относительно их родительских, указав точку (.
), За которой следует их ключ:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
По умолчанию относительные цели — это внутренние переходы, что означает, что родительское состояние не будет выходить и повторно входить. Вы можете сделать относительные цели внешних переходов, указав internal: false
:
1 2 3 4 5 6 7 |
|
Пользовательские идентификаторы¶
Узлы состояния могут быть обозначены с помощью уникальных идентификаторов, а не с помощью относительных идентификаторов. Это может упростить создание сложных диаграмм состояний.
Чтобы указать идентификатор для узла состояния, укажите уникальный строковый идентификатор в качестве его свойства id
, например id: 'greenLight'
.
Чтобы сослаться на узел состояния по его идентификатору, добавьте к его строковому идентификатору символ '#
', например, TIMER: '#greenLight'
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
|
Примечания:
- Для корневого узла состояния всегда рекомендуются задавать идентификатор.
- Убедитесь, что все идентификаторы уникальны, чтобы предотвратить конфликты имен. Естественно, уникальность обеспечивается автоматически сгенерированными идентификаторами.
Внимание
Не смешивайте пользовательские идентификаторы с относительными идентификаторами. Например, если узел состояния red
выше имеет пользовательский идентификатор redLight
и дочерний узел состояния walking
, например:
1 2 3 4 5 6 7 8 9 10 11 |
|
Тогда вы не можете настроить таргетинг на состояние 'walking'
с помощью '#redLight.walking'
, потому что его идентификатор преобразован в '#light.red.walking'
. Цель, которая начинается с '#'
, всегда будет относиться к точному совпадению для '#[state node ID]'
.
Краткий справочник¶
Идентификатор по умолчанию, автоматически сгенерированный:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
Пользовательский идентификатор
1 2 3 4 5 6 7 |
|
Таргетинг узла состояния по идентификатору
1 2 3 4 5 |
|