1

我想使用 Ember 创建一个“信息标志”类型的应用程序;显示的数据会定期更新,但没有用户输入或交互。应用程序根据管理员提供的 URL 参数进行配置和初始化。应用程序的布局和内容将根据应用程序监控的提要中的数据而改变。

Ember.Router 对于这个任务似乎有点过分了,因为我不需要/不能将基于 URL 的路由映射到应用程序状态。Ember.StateManager 看起来很完美,因为它允许我仅根据应用程序逻辑中满足的条件以编程方式在状态之间转换,而忽略当前 URL。已弃用的 Ember.ViewState 似乎是使用 Ember.StateManger 时管理视图的方式。

使用 Ember.StateManger 在 DOM 中管理视图的当前最佳实践是什么?

有没有办法用 Ember.Router 代替我描述的内容?

谢谢,亚伦

4

2 回答 2

1

在阅读了您的初步解释后,我觉得您目前不需要任何状态。当应用程序在这些状态下需要不同的行为时,您需要定义不同的应用程序。看起来您的应用程序行为没有改变,而只是查看。

因此,您可以使用一些车把条件帮助程序以及控制器中的一些派生属性来完成这项工作,以指示是否有任何当前的建议。

{{#view App.myView}}
  {{#if hasAdvisory}}
    <div class="col-2">
      <div class="col1">
        {{#each bus}}
          //bus details
        {{/each}}
      </div>
      <div class="col2">
        //advisory details
      </div>
    </div>
  {{else}}
    <div class="col-1">
      <div class="col">
        {{#each bus}}
          //bus details
        {{/each}}
      </div>
    </div>
  {{/if}}
{{/view}}

请解释一下,如果您只是需要这个,或者当您有咨询时和没有咨询时您是否计划任何不同的应用程序行为。

于 2012-08-29T20:45:12.373 回答
0

通常,用于管理Ember.Router基于应用程序中的视图和控制器的相同技术可用于Ember.StateManager. 具体来说,使用 outlets withEm.Controller#connectController是切换独立于状态管理的视图的绝佳方式。

于 2012-08-31T02:41:26.217 回答