request.object.previous()在beforeSave()中不起作用

时间:2015-04-01 08:34:26

标签: parse-platform

我试图检查beforeSave()中属性的当前值和上一个值。所以我尝试使用request.object.previous(" attribute_name")但它仍然返回当前更改的值。虽然.ditry()返回TRUE,这意味着值已更改。知道这里有什么问题吗?感谢您的反馈。

1 个答案:

答案 0 :(得分:1)

我认为.previous()实际上并不是Parse.com sdk的一部分,而只是从骨干继承而来。

  

在beforeSave处理程序中,我有类似的内容:

if(object.dirty("attr")) { 
   console.log("After: " + object.get("attr") + ", Before: " + object.previous("attr")); }
     

'之前'返回的值总是一样的。实际上是这个功能吗?   实施?我在其他地方看过一些线索暗示它不是 -   如果是这样,您可以将其从API文档中删除,直到它完成?

     

如果它不起作用,则查询前一个是正确的解决方法   宾语?或者改变了属性'工作?   哦,我现在看到了以前的'是Backbone的一部分。

source1

  

之前的方法是inherited from Backbone.Model。它不会返回Cloud Code中字段的先前值。

source2

可能不是您正在寻找的答案,所以作为一种方法来解决缺少.previous实现的问题this

  

不知道这是否有用,或者是否会被认为太昂贵   解决方法,但您可以添加一个列到该对象   正在更新,存储原始列的先前值。   这将允许您访问AfterSave中的先前值   功能