簡體   English   中英

如何在Ember中的多個階段進行backgroundReload?

[英]How do I backgroundReload in multiple stages in Ember?

我正在獲取記錄列表,例如posts ,沒有關系。 當我選擇一個帖子時,我想立即查看該帖子,並后台加載其關系。

這樣是可能的:

this.store.findRecord('posts', params.id, {
    reload: false,
    backgroundReload: true,

加載關系后,視圖將自動更新。

但是,某些關系很復雜,需要一些時間來加載。 滾動后它們變得相關。 hasMany關系對於初始網頁瀏覽重要。 他們之間的關系也很重要,但我也寧願推遲他們。

因此,單擊單個帖子時,可以按順序進行以下幾點嗎?

  • 直接從緩存打開帖子( reload: false
  • 后台重載,包括一個關系( 不包括該關系的關系)
    • 后台重載關系, 包括關系的關系
  • 后台重載,包括所有關系

例如,使用緩存的模型繪制初始模板后,將再進行3次更新。

您可以使用DS.ModelDS.ManyArray上可用的reload()方法。 它返回一個Promise,該Promise在重新加載記錄后解決。 您可以根據需要使用Promise鏈接重新加載。

您應該通過使用DS.ModelDS.ManyArray上的isLoaded屬性來防止重新加載尚未加載的記錄。

你可以使用eachRelationship方法DS.Model遍歷所有關系。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM