0

像典型的分层状态机一样,我想获取子状态无法处理但父状态可以处理的事件,以便在父状态中处理。我收到错误“无法响应状态 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()

在上面的代码中,在 y 状态下是否有某种 xyz 发生的方式,它可以由 x 处理?我认为 HSM 会这样做。但它不工作

4

1 回答 1

1

答案是肯定的,路由器是一个分层状态机,事件将传递当前状态,然后传递给它的父级,直到它被处理。如果当前路径中的任何状态都未处理事件,则会引发错误。

如果这对您不起作用,则说明您的代码中某处存在错误。

于 2012-10-19T11:16:47.910 回答