0

我应该首先说我是一个完整的 Ember.js 菜鸟(以及一般的 MVC JavaScript 框架菜鸟)。

我试图弄清楚 Router 和 StateManager 如何协同工作。我从互联网上的各个地方拼凑了一个示例,您可以在此处查看:

http://jsfiddle.net/zdfs/qsAxZ/1/

所以第一次加载的一切似乎都在工作。但是有些功能似乎表现不佳。我希望通过操作链接附加的 CSS 类实际上是应用程序状态的一部分,但我在某处搞砸了。

您可以通过单击“网络摄像头”或“屏幕共享”来复制问题。该链接将突出显示。当我重新加载页面时,状态是正确的,但是高亮丢失了。我做错了什么,但我不知道如何解决它。

如果我尝试将操作移动到 StateManager 中,那么router.get("applicationController")引用就会丢失。

我也不能做类似的事情sManager.send("goHome");- 出现问题。

4

1 回答 1

0

阅读您的代码后的一些评论:

  • 您是否有理由在路由器和 StateManager 之间拆分代码?在当前的规范形式中,您的状态应该是Ember.State位于路由器内部的 类。
  • connectOutlet方法应该从connectOutlets状态的钩子中调用,而不是那个enter
  • 路由器中的事件处理程序在第一个参数中获取路由器实例,而不是状态(参见goHomeviewWebcam& viewScreen
于 2012-06-14T09:44:35.933 回答