That is probably because <ag-grid-vue :rowData="toRawDeep(rowData)" /> will rerun toRawDeep(rowData) every time an update is made to props.rowData. Whereas const r = toRawDeep(props.rowData) is only run once when the component is first loaded.