ember-data:如何在不触发加载的情况下加载模型的async:true关系?

Rhi*_*non 10 ember.js ember-data

我需要检查是否已加载异步关系而不触发加载,这可能吗?

Jac*_*gen 6

经过一段时间后,Ember Data 2.5 发布了.实现的功能之一是该ds-references功能.

引用API允许与您的关系进行交互.有了它,可以检查您RelationshipName是否已经加载,而不会触发请求:

model.hasMany('yourRelationshipName').value() !== null;
Run Code Online (Sandbox Code Playgroud)


Mic*_*gar 5

使用ember-data 1.13,以下内容适用于hasMany关系.仍然是一个黑客,但似乎没有一个公共API.

var relationships = model._internalModel._relationships.initializedRelationships;

if (relationships.yourRelationshipName.manyArray.get('isLoaded')) {...}
Run Code Online (Sandbox Code Playgroud)


Kin*_*n2k 3

目前还没有官方的方法来实现这一点,但非官方的你可以这样做

// this will be null if not loaded, and populated if it has at least started loading
if(model._relationships.yourRelationshipName) {...}
Run Code Online (Sandbox Code Playgroud)