与典型的分层状态机类似, 我想得到一个子状态无法处理但父状态可以在父状态下处理的事件。 我收到错误“无法响应状态Y中的事件xyz”
App.Router = Ember.Router.extend
location: "hash"
enableLogging: true
x: Ember.Route.extend
xyz : (router, event) ->
# Some handling code
y : Ember.Route.extend()
在上面的代码中有一些xyz在y状态下发生的方式,它可以由x处理吗? 我认为HSM会这样做。但它不起作用
答案 0 :(得分:1)
答案是肯定的,路由器是一个分层状态机,事件将被传递到当前状态,然后传递给它的父节点,直到它被处理完毕。如果事件未由当前路径中的任何状态处理,则会引发错误。
如果这对您不起作用,则代码中的某个地方会出错。