来自于一个操作(Action)的触发事件为了触发来自于一个操作(action)的一个事件,你需要调用一个方法。
例如,这里内置的error()和success()方法。
下面的示例在切换操作中验证失败后触发error()事件:enterPersonalDetails {
on("submit") {
def p = new Person(params)
flow.person = p
if(!p.validate())return error()
}.to "enterShipping"
on("return").to "showCart"
}
在这种情况下,因为错误,切换操作将使流回到enterPersonalDetails状态.
有了一种操作状态,你也能触发事件来重定向流:shippingNeeded {
action {
if(params.shippingRequired) yes()
else no()
}
on("yes").to "enterShipping"
on("no").to "enterPayment"
}