簡體   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