Идентификация узлов состояния¶
По-умолчанию идентификатором 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 | |