2014-02-19 60 views
0

我有以下模塊(下面的僞代碼),它使用Breeze將數據保存回服務器。保存後獲取實體更改

datacontext{ 
    ... 
    function saveChanges() { 
     if (manager.hasChanges()) { 
      return manager.saveChanges() 
        .then(saveSucceeded) 
        .fail(saveFailed); 
     } 
     return Q.resolve(); 

     function saveSucceeded(data) { 
     } 
     function saveFailed(data) { 
     } 
    } 
    ... 
} 

我捕捉已經保存了一些進一步處理的變化:

datacontext.saveChanges().then(processChanges) 

是否有可能得到一個給定的實體的屬性後,保存有哪些變化?

回答

1

在調用保存之前,實體的更改已經在客戶端上進行了更改; save只是將這些更改提交給服務器。

但是,如果保存成功完成,您可以在調用保存之前捕獲每個實體的已更改屬性(及其原始值)的列表,並使用此列表。看看在 'originalValues' 此頁

http://www.breezejs.com/documentation/inside-entity

function getOriginalValuesPropertyNames(entity) { 
    var names = []; 
    for (var name in entity.entityAspect.originalValues) { names.push(name); } 
    return names; 
} 
+0

優秀的部分!謝謝Jay!這應該讓我去:) – GETah

相關問題