簡體   English   中英

在Ember和Ember Data中檢查相關對象為空

[英]Check related object is null in Ember and Ember Data

當相關數據以0-1關系序列化時,一切正常。

"lesson": {
  "id": 1,
  "title": "foo",
  "user_completion": {
    "id": 1,
    "percent": 30
  },
  "is_available": true
}

但是,當尚未創建相關模型時,Web服務將為該關系返回null。

"lesson": {
  "id": 1,
  "title": "foo",
  "user_completion": null,
  "is_available": false
}

看來,當使用此數據實例化ember模型時,user_completion將成為PromiseObject

  1. 當沒有相關的一對一或一個記錄存在時,我的Web服務是否應該為此關系返回null?
  2. Ember Data是否已將promise對象放在模型的此屬性上,即使它永遠無法解析為什么? 我錯過了重要的事嗎?
  3. 在需要檢查相關數據是否存在的情況下,我應該怎么做,如下例所示?

     model.filter(function(item) { return item.get('is_available') || item.get('user_completion') !== null; }); 

    我真的只需要檢查user_completion是否是PromiseObject? 這看起來有點奇怪,我覺得我在其他地方犯了一個錯誤。

經過一番調查后發現,如果你的關系被定義為async,它總會返回一個promise,無論你是否內聯關系。

更改

user_completion: DS.belongsTo('user_completion', {async: true})

user_completion: DS.belongsTo('user_completion', {async: false})

一切都按預期工作; 對於空關系,Ember返回null

對於它的價值,它看起來像async: true 可能會成為未來的默認值

暫無
暫無

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

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