Backbone.js的触发时更改值不会改变(Trigger backbone.js change

2019-08-22 02:27发布

这是Backbone.js的已知功能,当你设置并没有改变也不会触发change事件数据,也不会经过验证。 然而,我所需要的变革触发事件,因为我存储从AJAX调用存储后端验证结果的JSON响应。 如果用户保持提交表单,同时保持相同的字段为空,后端验证将返回相同的JSON结果,当我将它保存到该模型也不会触发change事件。

有几件事情我已经在这里我设置的数据到模型的AJAX成功回调中尝试:

尝试性解决方案#1

t.model.unset('fieldErrors',{silent: true});
t.model.set({fieldErrors: JSONResponse});

尝试性解决方案#2

t.model.set({fieldErrors: null},{silent: true});
t.model.set({fieldErrors: JSONResponse});

无论这些结果的变化事件触发第二次当调用时,并且用户具有相同的JSONResponse的。

Answer 1:

手动触发更改事件:

t.model.trigger('change', t.model);

要么

t.model.trigger('change:fieldErrors', t.model, newFieldErrorsValue);


文章来源: Trigger backbone.js change when value doesn't change
标签: backbone.js