我有一個用戶對象,我想跟蹤用戶編輯他們的信息的情況下的變化,但他們可以說'放棄更改',它會返回到加載時用戶對象的以前的狀態。對象_.deepClone,不等於舊對象嗎?
我的解決方案是原來的對象deepClone到備份變種,給它它自己的參考點,然後比較用戶對象備份對象---再次使用lodash
我使用的角度看對象#$ watch,如果!_。isEqual(用戶,備份)。
$scope.$on '$routeChangeStart', (e, next) -> if !_.isEqual(user, backup) console.log 'changes made'
但是這個返回false,即使有沒有變化?就好像兩個對象不再相等,即使所有的鍵和值都是相同的?我認爲比deepClone時看到的更多。
有沒有更好的方法?我做錯了什麼?
你可以爲你的對象看起來像嗎? – TbWill4321