Проще говоря, вы не можете.
Поток определяется как
повторно используемая последовательность шагов, которые могут выполняться в разных контекстах
В этом случае def
- это отдельный поток. Кроме того, потоки доступны только из их первого состояния.
Рассмотрим поток А:
<view-state id="searchUsersView" model="searchCriteriaWm" view="users/list">
<transition on="selectUser" to="detailView">
<set name="detailWm" value="usersActions.getUserDetail(searchCriteriaWm.selectedElementId)" />
</transition>
</view-state>
И поток B:
<view-state id="createUserView" model="createUserWm" view="users/create">
<transition on="submit" to="detailView">
<evaluate expression="userActions.createUser(createUserWm)" result="detailWm" />
</transition>
</view-state>
Вместо двух detailViews
вы можете легко создать поток деталей, к которому можно обращаться как к подпотоку.
<input name="detailWm">
<view-state id="detailView" model="detailWm" view="users/detail">
</view-state>