[英]Suggestions on how to deal with this model constantly being re-initialized in a set interval?
我最近被分配维护工作中的EmberJS代码,并且我对EmberJS或Javascript完全是个新手,因此,我来这里寻求帮助。
语境
我有一个实时供稿页面(如新闻供稿),该页面已与Infinity Loading集成在一起,并且此供稿不断检查后端以查看是否有新消息。 这导致该代码不断被调用。
import InfinityRoute from "ember-infinity/mixins/route";
export default Ember.Route.extend(InfinityRoute,{
perPageParam: "perPage",
totalPagesParam: "meta.totalPages",
queryParams: { dateFrom:.... },
model(params){
const defaultParams = { perPage: 25, startingPage: 1 } ;
const modelParams = Ember.$.extend(defaultParams, params);
return this.infinityModel("message", modelParams);
}
上面的代码将加载25个页面,其中startingPage为1,并将其传递给infinityModel,后者将与数据存储联系以获取必要的信息。
问题场景
上面的代码不断使您回到第1页,而无法跟踪当前页面(例如,如果您滚动显示25条以上的消息并在第二页中,则由于滚动位置和型号的原因,第二页会不断消失并重新出现重新初始化,将startingPage设置回1)
如果您能为我提供有关如何处理此模型重新初始化和infinityScroll问题的任何建议,我会很乐意?
我不确定我是否正确理解了您的问题,但是可能我们必须解决类似的问题。 我们的后端定期重写用于生成递归组件的模型。 这些组件具有一些状态信息,这些状态信息在每次重新加载模型后都会松散。 我们决定使用Ember.ArrayProxy解决此问题。
您想记录“实时数组”,将更改发送到模板,就像您在使用store.findAll()一样-在另一面,store.peekAll()返回标准数组。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.