dcloudio / uni-app

A cross-platform framework using Vue.js
https://uniapp.dcloud.io
Apache License 2.0
39.96k stars 3.62k forks source link

小程序使用.stop会报错,_vm.__HOLDER__ is not a function #3390

Closed zhongzhifa closed 2 years ago

zhongzhifa commented 2 years ago

问题描述 小程序使用.stop会报错,_vm.__HOLDER__ is not a function 看生成代码有e1、e3 image

e1、e3中有return _vm.__HOLDER__($event)的代码,是无效的 image

复现步骤

<view @touchmove.stop.prevent="">
  <scroll-view scroll-y>
    <view>123</view>
    <view>123</view>
    <view>123</view>
    <view>123</view>
    <view>123</view>
    <view>123</view>
    <view>123</view>
    <view>123</view>
    <view>123</view>
    <view>123</view>
    <view>123</view>
    <view>123</view>
    <view>123</view>
    <view>123</view>
    <view>123</view>
    <view>123</view>
    <view>123</view>
    <view>123</view>
    <view>123</view>
    <view>123</view>
    <view>123</view>
    <view>123</view>
    <view>123</view>
    <view>123</view>
  </scroll-view>
</view>

拖动到底就会报错

预期结果 不报错,且可以阻止冒泡

实际结果 _vm.__HOLDER__ is not a function

系统信息:

zhetengbiji commented 2 years ago

版本信息提供一下

zhongzhifa commented 2 years ago

Environment Info:

System: OS: Windows 10 CPU: (16) x64 Intel(R) Xeon(R) CPU E5-2660 0 @ 2.20GHz Binaries: Node: 14.19.1 - C:\APP\nodejs\node.EXE Yarn: Not Found npm: 8.5.5 - C:\APP\nodejs\npm.CMD Browsers: Edge: 44.22000.120.0 npmPackages: @dcloudio/uni-app-plus: ^2.0.0-31920210709003 => 2.0.0-alpha-33020211130001 @dcloudio/uni-app-plus-nvue: 0.0.1 @dcloudio/uni-app-plus-nvue-v8: 0.0.1 @dcloudio/uni-cli-i18n: ^2.0.1-33920220314002 => 2.0.1-33920220314002 @dcloudio/uni-cli-shared: ^2.0.0-31920210709003 => 2.0.0-alpha-33020211130001 @dcloudio/uni-h5: ^2.0.0-31920210709003 => 2.0.0-alpha-33020211130001 @dcloudio/uni-helper-json: ^1.0.13 => 1.0.13 @dcloudio/uni-i18n: ^2.0.0-31920210709003 => 2.0.0-alpha-33020211130001 @dcloudio/uni-migration: ^2.0.0-31920210709003 => 2.0.0-alpha-33020211130001 @dcloudio/uni-mp-360: ^2.0.0-alpha-31920210715002 => 2.0.0-alpha-33020211130001 @dcloudio/uni-mp-alipay: ^2.0.0-31920210709003 => 2.0.0-alpha-33020211130001 @dcloudio/uni-mp-baidu: ^2.0.0-31920210709003 => 2.0.0-alpha-33020211130001 @dcloudio/uni-mp-jd: ^2.0.1-33920220314002 => 2.0.1-33920220314002 @dcloudio/uni-mp-kuaishou: ^2.0.1-33920220314002 => 2.0.1-33920220314002 @dcloudio/uni-mp-lark: ^2.0.1-33920220314002 => 2.0.1-33920220314002 @dcloudio/uni-mp-qq: ^2.0.0-31920210709003 => 2.0.0-alpha-33020211130001 @dcloudio/uni-mp-toutiao: ^2.0.0-31920210709003 => 2.0.0-alpha-33020211130001 @dcloudio/uni-mp-vue: ^2.0.0-31920210709003 => 2.0.0-alpha-33020211130001 @dcloudio/uni-mp-weixin: ^2.0.0-31920210709003 => 2.0.0-alpha-33020211130001 @dcloudio/uni-quickapp-native: ^2.0.0 => 2.0.0 @dcloudio/uni-quickapp-webview: ^2.0.0 => 2.0.0 @dcloudio/uni-stat: ^2.0.0-31920210709003 => 2.0.0-v3-24020191018001 @dcloudio/uni-template-compiler: ^2.0.0-31920210709003 => 2.0.0-alpha-33020211130001 @dcloudio/vue-cli-plugin-hbuilderx: ^2.0.0-31920210709003 => 2.0.0-alpha-33020211130001 @dcloudio/vue-cli-plugin-uni: ^2.0.0-31920210709003 => 2.0.0-alpha-33020211130001 @dcloudio/vue-cli-plugin-uni-optimize: ^2.0.0-31920210709003 => 2.0.0-alpha-33020211130001 @dcloudio/webpack-uni-mp-loader: ^2.0.0-31920210709003 => 2.0.0-alpha-33020211130001 @dcloudio/webpack-uni-nvue-loader: 0.0.1 @dcloudio/webpack-uni-pages-loader: ^2.0.0-31920210709003 => 2.0.0-alpha-33020211130001 @hap-toolkit/dsl-vue: 0.6.13 @vue/babel-helper-vue-jsx-merge-props: 1.2.1 @vue/babel-helper-vue-transform-on: 1.0.2 @vue/babel-plugin-jsx: 1.1.1 @vue/babel-plugin-transform-vue-jsx: 1.2.1 @vue/babel-preset-app: 4.5.16 @vue/babel-preset-jsx: 1.2.4 @vue/babel-sugar-composition-api-inject-h: 1.2.1 @vue/babel-sugar-composition-api-render-instance: 1.2.4 @vue/babel-sugar-functional-vue: 1.2.2 @vue/babel-sugar-inject-h: 1.2.2 @vue/babel-sugar-v-model: 1.2.3 @vue/babel-sugar-v-on: 1.2.3 @vue/cli-overlay: 4.5.16 @vue/cli-plugin-babel: ^4.5.13 => 4.5.16 @vue/cli-plugin-eslint: ~4.5.16 => 4.5.17 @vue/cli-plugin-router: 4.5.16 @vue/cli-plugin-vuex: 4.5.16 @vue/cli-service: ^4.5.13 => 4.5.16 @vue/cli-shared-utils: 4.5.17 @vue/component-compiler-utils: 3.3.0 (3.3.0) @vue/devtools-api: 6.0.0-beta.15 @vue/eslint-config-prettier: ^6.0.0 => 6.0.0 @vue/preload-webpack-plugin: 1.1.2 @vue/web-component-wrapper: 1.3.0 eslint-plugin-vue: ^6.2.2 => 6.2.2 mpvue-page-factory: 1.0.1 mpvue-template-compiler: 1.0.13 uni-h5-vue: 2.6.10 uni-mp-vue: 2.6.10 vue: ^2.6.14 => 2.6.14 vue-eslint-parser: 7.11.0 vue-hot-reload-api: 2.3.4 vue-loader: 15.9.8 (16.8.3, 15.9.8) vue-router: 3.0.1 vue-style-loader: 4.1.3 (4.1.3) vue-template-compiler: ^2.6.14 => 2.6.14 (2.6.14) vue-template-es2015-compiler: 1.9.1 vue3: 1.0.0 vuex: ^3.6.2 => 3.6.2 (3.6.2) npmGlobalPackages: @vue/cli: Not Found

zhetengbiji commented 2 years ago

当前使用的版本依赖比较乱,先使用 npx @dcloudio/uvm alpha 命令更新一下依赖后,重新运行试试。

zhongzhifa commented 2 years ago

升级后已不再报错

Wilburn-hub commented 2 years ago

npx @dcloudio/uvm alpha 还是报错 Property or method "HOLDER" is not defined on the instance but referenced during render. Make sure that this property is reactive, either in the data option, or for class-based components, by initializing the property.

Smartiboy commented 2 years ago

npx @dcloudio/uvm 之后node-sass就解析不了

zhetengbiji commented 2 years ago

npx @dcloudio/uvm 之后node-sass就解析不了

改用 'sass': '^1.49.8'

passioncsu commented 1 year ago

当前使用的版本依赖比较乱,先使用 npx @dcloudio/uvm alpha 命令更新一下依赖后,重新运行试试。

这个杀伤力有点大, 升级后项目都跑不起了.... 所以这个问题到底原因是什么 怎么规避

zhetengbiji commented 1 year ago

当前使用的版本依赖比较乱,先使用 npx @dcloudio/uvm alpha 命令更新一下依赖后,重新运行试试。

这个杀伤力有点大, 升级后项目都跑不起了.... 所以这个问题到底原因是什么 怎么规避

具体描述一下问题