ничего не срабатывает
Ошибки какие получаете? Или "не срабатывает" следует понимать как "результат работы отличается от ожидаемого"?
глубокое копирование перед сравнением
То есть, сделали копию и стали сравнивать её с оригиналом. С которого эта копия только что была снята. Толково придумано. Надо ли удивляться, что в ста случаях из ста никаких изменений выявлено не будет?
Копировать надо не перед сравнением, а после внесения изменений:
computed: {
objCopy() {
return structuredClone(this.obj);
},
...
Следим не за оригиналом, а за копией - так будут доступны два действительно разных объекта, до изменений и после:
watch: {
objCopy(newVal, oldVal) {
// здесь можно сравнить старый и новый объекты
},
...
Демо - есть вложенный объект, его можно редактировать (изменять, добавлять, удалять свойства), в наблюдателе сравнивается что было и что стало, пишутся соответствующие записи в лог (путь, по которому осуществлено редактирование; тип операции; старое и новое значения).