繁体   English   中英

使用Ember.StateManager(而不是Ember.Router)进行视图管理

[英]View management with Ember.StateManager (and not Ember.Router)

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

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

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

有没有一种方法可以代替我使用Ember.Router进行描述?

谢谢亚伦

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

因此,您可以仅使用一些车把条件助手,以及控制器中的一些派生属性(表明是否有任何最新建议)来使此工作正常进行。

{{#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}}

请提供更多类似的解释,例如,仅在需要时或在没有咨询时就计划其他应用程序行为。

一般情况下,用于管理视图和控制器的相同技术Ember.Router基于应用程序可以与使用Ember.StateManager 特别是,将出口与Em.Controller#connectController是一种切换视图的绝佳方法,而与状态管理无关。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM