我正在构建一个组件,该组件将IP作为输入并返回该计算机的错误日志。我已经设置了模型和适配器,它们可以工作,但是我想每隔几分钟重新加载一次数据,以查看是否有新消息。
我的组件是这样的:
import Ember from 'ember';
export default Ember.Component.extend({
init(){
this.logMessages = this.get('store').query('log', {ip : this.attrs.ip.value});
this._super(...arguments);
},
didLoad: function(){
var self = this;
Ember.run.later(function(){self.logMessages = self.get('store').query('log', {ip : self.attrs.ip.value}); console.log("reload");}, 3000);
}
});
由于某种原因,我从未看到过run.later实际在运行,也没有错误或警告出现。
您想使用其他生命周期挂钩。据我所知,没有didLoad,但是您可以根据实际需要使用didRender,willRender或didInsertElement。我还将使用destroy钩子之一删除计时器,否则在删除组件时,计时器将保持运行状态。这是生命周期挂钩的概述:
https://guides.emberjs.com/v2.6.0/components/the-component-lifecycle/
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句