我试图检查beforeSave()中属性的当前值和上一个值。所以我尝试使用request.object.previous(" attribute_name")但它仍然返回当前更改的值。虽然.ditry()返回TRUE,这意味着值已更改。知道这里有什么问题吗?感谢您的反馈。
答案 0 :(得分:1)
我认为.previous()实际上并不是Parse.com sdk的一部分,而只是从骨干继承而来。
在beforeSave处理程序中,我有类似的内容:
if(object.dirty("attr")) { console.log("After: " + object.get("attr") + ", Before: " + object.previous("attr")); }
'之前'返回的值总是一样的。实际上是这个功能吗? 实施?我在其他地方看过一些线索暗示它不是 - 如果是这样,您可以将其从API文档中删除,直到它完成?
如果它不起作用,则查询前一个是正确的解决方法 宾语?或者改变了属性'工作? 哦,我现在看到了以前的'是Backbone的一部分。
之前的方法是inherited from Backbone.Model。它不会返回Cloud Code中字段的先前值。
可能不是您正在寻找的答案,所以作为一种方法来解决缺少.previous实现的问题this:
不知道这是否有用,或者是否会被认为太昂贵 解决方法,但您可以添加一个列到该对象 正在更新,存储原始列的先前值。 这将允许您访问AfterSave中的先前值 功能