watch, require, *_in

require — используется в том стейте, которому необходим другой стейт, при этом другой стейт ничего не знает об этом.

watch_in — используется так же, но при этом еще и вызывает перезагрузку службы (или что-то еще) если состояние текущего стейта изменилось.

require_in и watch указывают на ровно противоположные отношения между стейтами.

Т.е. если у нас есть некоторое дерево состояний, то require и watch_in используются в дочерних элементах и эти элементы очевидно знают своих родителей. А require_in и watch — в родительских, которые в свою очередь не обязательно знают всех своих детей.

https://habr.com/ru/post/218231/#comment_8340441

Last updated