I would like to ask why vue deep monitoring [{}, {}.] Both new and old values are the same?

listening method:
watch : {

    editArr: {
        handler: function(val, old) {
            console.log(val)
            console.log(old)
            val.forEach((item,index)=> {
                // console.log(val[index]["value"])
                // console.log(old[index]["value"])
                if(val[index]["value"] !== old[index]["value"]) {
                    console.log("bianhuala")
                }
            })
            
        },
        deep: true
    }
},


editArr:   

clipboard.png

build array method:

obj["name"]="xxx"
obj["value"]="xxx"
editArr.push(obj)

results print out that val and old are both new values after change, while old cannot be monitored?

Apr.01,2021
MySQL Query : SELECT * FROM `codeshelper`.`v9_news` WHERE status=99 AND catid='6' ORDER BY rand() LIMIT 5
MySQL Error : Disk full (/tmp/#sql-temptable-64f5-1e5b2c3-59b95.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
MySQL Errno : 1021
Message : Disk full (/tmp/#sql-temptable-64f5-1e5b2c3-59b95.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
Need Help?