From 8ae6666cdd3494010b5b44ba6dda6d856cbdd505 Mon Sep 17 00:00:00 2001 From: Nolan Ehrstrom Date: Fri, 17 Dec 2021 13:16:40 -0800 Subject: [PATCH] Include vdata in nested calculated props --- src/mixins/computedFields.js | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/mixins/computedFields.js b/src/mixins/computedFields.js index d438e419d..1939b9df7 100644 --- a/src/mixins/computedFields.js +++ b/src/mixins/computedFields.js @@ -1,21 +1,20 @@ +import _ from 'lodash'; import { Parser } from 'expr-eval'; export default { methods: { evaluateExpression(expression, type) { let value = null; - try { - const self = this; + const merged = {}; + _.merge(merged, this.vdata, this._data); + + try { //monitor if variable belongs to data (defined variables) or vdata (external variables) //in this way the event is not executed again when the variable is update - const data = new Proxy(Object.assign({}, this), { + const data = new Proxy(merged, { get(data, name) { - if (data[name] === undefined) { - return self.vdata[name]; - } else { - return data[name]; - } + return data[name]; }, set() { throw 'You are not allowed to set properties from inside an expression';