emberjs路由器状态可以处理孩子无法处理的事件吗?

时间:2012-10-18 06:34:15

标签: ember.js ember-old-router

与典型的分层状态机类似, 我想得到一个子状态无法处理但父状态可以在父状态下处理的事件。 我收到错误“无法响应状态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会这样做。但它不起作用

1 个答案:

答案 0 :(得分:1)

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

如果这对您不起作用,则代码中的某个地方会出错。