From b750ababf3bbe12b37ac92ca7da4e18a7947880f Mon Sep 17 00:00:00 2001 From: chenpan Date: Wed, 25 Jul 2018 12:47:54 +0800 Subject: [PATCH] =?UTF-8?q?fix(taro-weapp):=20=E5=90=88=E5=B9=B6props?= =?UTF-8?q?=E5=87=BD=E6=95=B0=E6=89=A7=E8=A1=8C(=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89=E4=BA=8B=E4=BB=B6=E4=BC=A0=E9=80=92)=E8=BF=87?= =?UTF-8?q?=E7=A8=8B=E7=9A=84=E7=9A=84=E5=8F=82=E6=95=B0=E4=B8=A2=E5=A4=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/taro-weapp/src/create-component.js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/packages/taro-weapp/src/create-component.js b/packages/taro-weapp/src/create-component.js index 933c445f9b7b..704f5454ef20 100644 --- a/packages/taro-weapp/src/create-component.js +++ b/packages/taro-weapp/src/create-component.js @@ -35,6 +35,7 @@ function processEvent (eventHandlerName, obj) { const isAnonymousFn = eventHandlerName.indexOf(anonymousFnNamePreffix) > -1 let realArgs = [] let detailArgs = [] + let datasetArgs = [] // 解析从dataset中传过来的参数 const dataset = event.currentTarget.dataset const bindArgs = {} @@ -68,11 +69,11 @@ function processEvent (eventHandlerName, obj) { detailArgs.shift() } if (!isEmptyObject(bindArgs)) { - realArgs = Object.keys(bindArgs) + datasetArgs = Object.keys(bindArgs) .sort() - .map(key => bindArgs[key]).concat(detailArgs) + .map(key => bindArgs[key]) } - realArgs.push(event) + realArgs = [...datasetArgs, ...detailArgs, event] } else { // 匿名函数,会将scope作为第一个参数 let _scope = null @@ -87,11 +88,11 @@ function processEvent (eventHandlerName, obj) { detailArgs.shift() } if (!isEmptyObject(bindArgs)) { - realArgs = Object.keys(bindArgs) + datasetArgs = Object.keys(bindArgs) .sort() - .map(key => bindArgs[key]).concat(detailArgs) + .map(key => bindArgs[key]) } - realArgs = [callScope || _scope, ...realArgs, event] + realArgs = [callScope || _scope, ...datasetArgs, ...detailArgs, event] } scope[eventHandlerName].apply(callScope, realArgs) }