From 7205b91dde6f8c562b4a45f3ba18959453a367f8 Mon Sep 17 00:00:00 2001 From: qiang Date: Mon, 28 Jun 2021 19:31:12 +0800 Subject: [PATCH] =?UTF-8?q?fix(mp):=20=E4=BF=AE=E5=A4=8D=20v-for=20?= =?UTF-8?q?=E4=B8=AD=E5=90=AB=E6=9C=89=E5=A4=8D=E6=9D=82=E8=A1=A8=E8=BE=BE?= =?UTF-8?q?=E5=BC=8F=E6=97=B6=EF=BC=8C=E4=BA=8B=E4=BB=B6=E6=8E=A5=E6=94=B6?= =?UTF-8?q?=E7=9A=84=20item=20=E5=8F=82=E6=95=B0=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../__tests__/compiler-extra.spec.js | 10 ++++++++++ .../lib/script/traverse/data/event.js | 3 +-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/packages/uni-template-compiler/__tests__/compiler-extra.spec.js b/packages/uni-template-compiler/__tests__/compiler-extra.spec.js index 3533daee0..d8686cfd9 100644 --- a/packages/uni-template-compiler/__tests__/compiler-extra.spec.js +++ b/packages/uni-template-compiler/__tests__/compiler-extra.spec.js @@ -737,6 +737,16 @@ describe('mp:compiler-extra', () => { '', 'with(this){var l0=array();if(!_isMounted){e0=function($event,item){var _temp=arguments[arguments.length-1].currentTarget.dataset,_temp2=_temp.eventParams||_temp["event-params"],item=_temp2.item;var _temp,_temp2;return test(item)}}$mp.data=Object.assign({},{$root:{l0:l0}})}' ) + assertCodegen( + '{{item}}', + '{{item}}', + 'with(this){var l0=array();if(!_isMounted){e0=function($event,item){var _temp=arguments[arguments.length-1].currentTarget.dataset,_temp2=_temp.eventParams||_temp["event-params"],item=_temp2.item;var _temp,_temp2;return test(item)}}$mp.data=Object.assign({},{$root:{l0:l0}})}' + ) + assertCodegen( + '{{get(item)}}', + '{{item.m0}}', + 'with(this){var l0=__map(array(),function(item,index){var $orig=__get_orig(item);var m0=get(item);return{$orig:$orig,m0:m0}});if(!_isMounted){e0=function($event,item){var _temp=arguments[arguments.length-1].currentTarget.dataset,_temp2=_temp.eventParams||_temp["event-params"],item=_temp2.item;var _temp,_temp2;return test(item)}}$mp.data=Object.assign({},{$root:{l0:l0}})}' + ) }) it('generate bool attr', () => { assertCodegen( diff --git a/packages/uni-template-compiler/lib/script/traverse/data/event.js b/packages/uni-template-compiler/lib/script/traverse/data/event.js index c9b601cdf..2ec5b812d 100644 --- a/packages/uni-template-compiler/lib/script/traverse/data/event.js +++ b/packages/uni-template-compiler/lib/script/traverse/data/event.js @@ -520,8 +520,7 @@ module.exports = function processEvent (paths, path, state, isComponent, tagName ret.push( t.objectProperty( t.stringLiteral(ATTR_DATA_EVENT_PARAMS), - // 直接使用对象格式微信小程序编译会报错 - t.stringLiteral(`{{({${params.join(',')}})}}`) + t.objectExpression(params.map(param => t.objectProperty(t.identifier(param), t.identifier(param), false, true))) ) ) } -- GitLab