From 7b62b0f9f968c19cdfcf65395c41cba36aefe4cf Mon Sep 17 00:00:00 2001 From: qiang Date: Tue, 16 Aug 2022 20:20:25 +0800 Subject: [PATCH] =?UTF-8?q?fix(mp):=20=E4=BF=AE=E5=A4=8D=20v-for=20?= =?UTF-8?q?=E5=86=85=E4=BD=BF=E7=94=A8=E5=A4=8D=E6=9D=82=E8=A1=A8=E8=BE=BE?= =?UTF-8?q?=E5=BC=8F=E5=90=8E=20v-model=20=E5=A4=B1=E6=95=88=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98=20close=20#3173?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../__tests__/compiler-extra.spec.js | 5 +++++ .../lib/script/traverse/data/model.js | 8 +++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/packages/uni-template-compiler/__tests__/compiler-extra.spec.js b/packages/uni-template-compiler/__tests__/compiler-extra.spec.js index 4dcb81d25..132c8fd06 100644 --- a/packages/uni-template-compiler/__tests__/compiler-extra.spec.js +++ b/packages/uni-template-compiler/__tests__/compiler-extra.spec.js @@ -545,6 +545,11 @@ describe('mp:compiler-extra', () => { '4', '4' ) + assertCodegen( + '', + '', + 'with(this){var l0=__map(array,function(item,index){var $orig=__get_orig(item);var m0=test(index);return{$orig:$orig,m0:m0}});$mp.data=Object.assign({},{$root:{l0:l0}})}' + ) }) it('generate object property on custom component', () => { diff --git a/packages/uni-template-compiler/lib/script/traverse/data/model.js b/packages/uni-template-compiler/lib/script/traverse/data/model.js index d5172ed41..37097c68b 100644 --- a/packages/uni-template-compiler/lib/script/traverse/data/model.js +++ b/packages/uni-template-compiler/lib/script/traverse/data/model.js @@ -10,7 +10,9 @@ module.exports = function processRef (paths, path, state) { const callbackProperty = modelPath.node.value.properties.find(property => { return property.key.name === 'callback' }) - + const valueProperty = modelPath.node.value.properties.find( + property => property.key.name === 'value' + ) const exprProperty = modelPath.node.value.properties.find( property => property.key.name === 'expression' ) @@ -63,9 +65,9 @@ module.exports = function processRef (paths, path, state) { return [ // attrs:{value:value} t.objectProperty( t.stringLiteral(process.env.UNI_USING_VUE3 ? 'modelValue' : 'value'), - t.identifier(prop) + valueProperty.value ) ] } return [] -} +} -- GitLab