EmberJS:在單一路線上載入多個模型
在踏上EmberJS 之旅時,開發人員可能會遇到載入多個不相關模型的挑戰在同一條路線上。解決這個問題的方法如下:
考慮路由
首先,評估路由是否基於 slug 參數「:id」動態載入資料。如果是這樣,請避免在模型掛鉤中載入多個模型。為什麼?因為當用模型連結到這樣的路由時,Ember 會忽略模型鉤子。
模型鉤子的替代品
-
SetupController/afterModel: 在這些鉤子中載入其他模型。如果需要等待,請從 afterModel 傳回一個 Promise 並在 setupController 中手動管理結果。
-
Ember Data: 在模型掛鉤中使用 store.find('resource')。 Ember Data 會自動處理非同步互動。
處理非動態路由
如果路由沒有根據參數動態載入數據,這裡是options:
-
模型掛鉤中的多個模型:傳回具有多個模型鍵和值的物件。
-
RSVP 雜湊:載入使用Ember.RSVP.hash({ modelKey: Promise/value, ... }).
-
混合和匹配: 將RSVP 哈希值與非Promise 結合起來,將Promise 或普通值作為哈希值
其他注意事項
- 如果任何模型需要阻塞,除了使用其他方法外,還可以從afterModel 傳回一個Promise .
- 設定控制器可用於進一步修改或關聯模型,例如設定依賴關係。
- 請記住,這些技術是特定於路由的,不適用於嵌套路由。
以上是以下是一些適合問答格式並準確反映文章內容的標題選項:
選項 1(關注問題):
* EmberJS:如何在 Si 上載入多個模型的詳細內容。更多資訊請關注PHP中文網其他相關文章!