gpt4 book ai didi

javascript - Backbone - 区分由于获取引起的更改和来自前端的更改

转载 作者:行者123 更新时间:2023-12-03 09:27:29 25 4
gpt4 key购买 nike

Backbone 是否有一个好的模式来区分服务器获取导致的更改事件与前端事件导致的更改事件?

       this.on('change',function(model){
self.needsPersisting = true;
});

例如:如果更改是服务器的结果,我不希望将needsPersisting标志设置为true,但如果更改是前端的结果,我确实希望将needsPersisting标志设置为true正确。

最佳答案

此问题可以有多种解决方案。您可以根据您的要求选择解决方案:

<强>1。根据变量名称区分:

Backbone 中有一个解析函数(模型和集合都有该函数),每当服务器返回模型/集合时就会调用该函数。我们可以重写该函数并在返回响应之前设置变量。

parse: function(response){
// Setting variable value
this.changedByServer = true;
// Returning response as this will be mapped to model/collection
return response;
}

<强>2。根据事件区分

在可以接受服务器获取后重置模型/集合的情况下,此方法非常有用。我们可以使用选项“reset:true”来获取模型,当从服务器获取模型时,它将触发“reset”事件。

modelObj.fetch({reset: true});

modelObj.on('reset', function(){
// This handler is called when model gets fetched from server
});

关于javascript - Backbone - 区分由于获取引起的更改和来自前端的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31621729/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com