2016-08-31 100 views
3

我目前手动推动一些数据初始化我的Ember应用程序使用pushPayload。我使用JSONAPI作为适配器。停止pushPayload从触发自动提取

当我向它推送数据(正确加载)时,它包含尚未加载的其他记录的关系引用(或者可能永远不会加载,具体取决于用户与页面的交互方式)。

如果灰烬看到类似

{ 
    id: 1, 
    type: 'project', 
    relationships: 
    jobs: { 
     data: [ 
     { id: [some_id_not_yet_loaded], type: 'job' }, 
     { id: [another_id_not_yet_loaded], type: 'job' }, 
     ] 
    }, 
} 

然后它会自动查询/jobs/filter[id]=1,2,..x。发出此请求是不必要的/不是高性能的。我意识到这是Ember Data默认行为的一部分,但我希望能够覆盖它,以使Ember商店仍然保持对jobs的引用,但只在相应的project加载(或不加载)时保存它们。

+0

嗨Maschwenk,默认行为是不打算加载关系,直到你通过'project.get('jobs')'请求它们。你可以在这里展示更多的烬码吗? –

回答

0

而不是回传一个数据键,如果你回传一个链接键和相应的URL来检索相关记录,Ember Data会根据需要延迟加载这些值。