请参阅@ am304提供的链接以获取特定信息,但要简要介绍,
在您的第一张图片中,您有一个Transition Action
,它会在发生过渡时执行(并且[after任何状态退出操作-如果您有State A
,则有此操作,
在您的第二张图像中,您有一个Condition Action
,当确定与转换相关联的任何条件为true时执行。您没有任何明确的条件(即没有e1[cond1]{z = 5}
之类的条件),因此当发生任何事件时,该条件就被视为正确。即使未进行转换,此操作也将执行(即,它仅取决于条件。)这意味着它将在任何状态退出操作(如果您对State A
进行任何操作)下发生[[[before
State A
没有退出操作,并且转换没有条件),这两个结果相同。/z=5;
等于目的地状态entry: z=5;
的“进入动作”。如果您有多个目标状态,但想根据先前的状态和许多其他逻辑(在您的示例中未设置)来设置值,则它可能看起来像是一种“优雅”的解决方案。