laz*_*zzi 14 ember.js ember-data
我有一个User模型,它具有纬度和经度属性,用于显示地图上的当前用户位置.
App.User = DS.Model.extend({
firstName: DS.attr('string'),
lastName: DS.attr('string'),
email: DS.attr('string'),
jobs: DS.hasMany("App.Job"),
latitude: DS.attr('number'),
longitude: DS.attr('number'),
measuredAt: DS.attr('date'),
});
Run Code Online (Sandbox Code Playgroud)
每隔给定间隔从服务器自动更新纬度和经度属性的最佳方法是什么?ember-data是否支持这种用例?我找不到具有此功能的任何样品.我想我需要在其中使用setInterval覆盖User类的find方法,这是正确的方法吗?
谢谢
编辑:请参阅Dmitri Zagidulin的回答.
所以我明白了.现在我只需要在模型上覆盖didLoad方法,将来我可能需要更复杂的解决方案,但现在这已足够了.
didLoad: function(){
var self = this;
setInterval(function() {self.reload()}, 5*60*1000); //every 5 minutes
}
Run Code Online (Sandbox Code Playgroud)
如果有人需要重新加载更多模型,那么好的解决方案就是将其作为Mixin来实现.
对于那些现在遇到这个问题的人 - 不要使用setInterval,它被证明会导致严重的内存泄漏.
请改用Ember自己的Ember.run.later.
也可以看看:
编辑:2019年2月3日 - 更新损坏的链接.
| 归档时间: |
|
| 查看次数: |
9430 次 |
| 最近记录: |