这是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的。