diff --git a/src/platforms/mp-alipay/runtime/wrapper/component-parser.js b/src/platforms/mp-alipay/runtime/wrapper/component-parser.js index 88a746904bd9ad8e4646858ddcf1424ce3173336..3bb329d0179e27ba75a4117119c9862de596a58f 100644 --- a/src/platforms/mp-alipay/runtime/wrapper/component-parser.js +++ b/src/platforms/mp-alipay/runtime/wrapper/component-parser.js @@ -126,6 +126,14 @@ export default function parseComponent (vueComponentOptions) { componentOptions.deriveDataFromProps = createObserver() } else { componentOptions.didUpdate = createObserver(true) + } + + if (Array.isArray(vueOptions.wxsCallMethods)) { + vueOptions.wxsCallMethods.forEach(callMethod => { + componentOptions.methods[callMethod] = function (args) { + return this.$vm[callMethod](args) + } + }) } return componentOptions diff --git a/src/platforms/mp-alipay/runtime/wrapper/page-parser.js b/src/platforms/mp-alipay/runtime/wrapper/page-parser.js index b5e82e8ac334f7ea02b8594a2397b1b49f3c879b..81f10e8d78eadbfb65634ee176e3333f9203f4a8 100644 --- a/src/platforms/mp-alipay/runtime/wrapper/page-parser.js +++ b/src/platforms/mp-alipay/runtime/wrapper/page-parser.js @@ -77,6 +77,14 @@ export default function parsePage (vuePageOptions) { } initHooks(pageOptions, hooks, vuePageOptions) + + if (Array.isArray(vueOptions.wxsCallMethods)) { + vueOptions.wxsCallMethods.forEach(callMethod => { + pageOptions[callMethod] = function (args) { + return this.$vm[callMethod](args) + } + }) + } return pageOptions }