我正在拿一份记录列表,比如posts
,没有关系。当我选择一个帖子时,我希望立即看到帖子,然后加载它的关系。
这可能是这样的:
this.store.findRecord('posts', params.id, {
reload: false,
backgroundReload: true,
加载关系后,视图会自动更新。
但是,某些关系很复杂,需要一些时间来加载。滚动后它们变得相关。有一个hasMany
关系对初始网页浏览很重要。他们的关系也很重要,但我也更愿意推迟他们。
那么,单击一个帖子时,是否可以按顺序执行以下几点?
reload: false
)例如。使用缓存模型绘制初始模板后,将再进行3次更新。
您可以使用reload()
和DS.Model
上提供的DS.ManyArray
方法。它返回一个在重新加载记录后结算的Promise。您可以使用该Promise根据需要链接您的重新加载。
您应该使用isLoaded
以及DS.Model
上提供的DS.ManyArray
属性来防止重新加载尚未加载的记录。
您可以使用eachRelationship
method的DS.Model
来迭代所有关系。