У меня есть объект пользователя, и я хочу отслеживать изменения в случае, если пользователь редактирует их информацию, однако они могут сказать «отказаться от изменений» и вернуться к предыдущему состоянию объекта пользователя при загрузке._.deepClone объекта, не соответствует старому объекту?
Мое решение было deepClone исходный объект в резервный вар, чтобы дать ему это собственные опорные точки, а затем сравнить объект пользователя на объект резервного --- снова используя lodash
Я наблюдаю за объектом с помощью угловой # $ watch, и если! _. isEqual (пользователь, резервная копия).
$scope.$on '$routeChangeStart', (e, next) -> if !_.isEqual(user, backup) console.log 'changes made'
Однако это возвращает ложь, даже если нет никаких изменений? Кажется, что два объекта уже не равны, хотя все ключи и значения идентичны? Я предполагаю, что происходит больше, чем то, что я вижу, когда я глубоко закрываю.
Любые лучшие подходы? И что я делаю неправильно?
Можете ли вы поместить схему для ваших объектов? – TbWill4321