请参见相关旋转https://ember-twiddle.com/e3872f1410e0d844b6d6c6bc9a2c9dc1
第一个
在ember中
1.单击链接以转换到第二条路线
1.观察第二条路线显示“无显示”
- 2秒后,当请求完成时,模板将更新以显示hasMany模型
我希望模板只在对/parents/1
的请求完成后才呈现,但事实并非如此
1.为什么模板不等待路线的模型?
1.如何通过检测hasMany关系是否正在加载以显示加载指示器来改进UX?
promise代理上的标志似乎在任何时候都不会更改
1条答案
按热度按时间tez616oj1#
1.模板不会等待,因为在存储区中找到了记录,承诺会立即解析。
1.我真的希望有一个更好的API,但我分叉了你的旋转,并显示了一个解决方案:https://ember-twiddle.com/af0a823fc73474db1c09083c429fef4f?openFiles=models.parent%5C.js%2C&route=%2Fsecond-route%2F1
基本代码如下:
this.hasMany('...')
是一个返回关系引用的低级Ember Data api。load()方法使它加载(如果它还没有加载),但更重要的是,它返回一个承诺,当关系加载时将解析该承诺。您可以在api中阅读有关HasManyReference类的更多信息