我正在开发一个 Ember 应用程序,我希望单击按钮以转换到新路由,将对象作为该路由的上下文传递。
问题是,无论我如何尝试传递该上下文,当我到达要转换的路线时,它总是会丢失。
调查(http://jsfiddle.net/fxbXM/2/)似乎上下文被传递到路由器命中的第一个路由,因为它适用于请求的路由。(请参阅每个路由级别的 connectOutlets 函数的输出)
这似乎证实了我在调试实际应用程序时的想法:在 Ember 的 triggerSetupContext 函数中有三个enterStates
:[Router, 'root', 'create'] 并且有三个contexts
:[myObject, null, null]
如果上下文的顺序相反,那么我会在我想要的地方得到我想要的!
我在将对象作为上下文传递的方式上是否犯了一些基本错误?我应该使用另一种方法吗?