uni-app给uni获取自定义属性,使用HbuilderX和工程化的方式,返回结果不一致

uni-app给uni获取自定义属性,使用HbuilderX和工程化的方式,返回结果不一致

  1. 工程化启动项目到微信开发者工具,在uni.xxxx获取属性时,返回的是函数,未返回undefined
  2. hbuilderx运行到微信开发者工具,在uni.xxxx获取属性时,则返回的undefined
  3. 通过断点查询下,存在细小差异,详情查询图片红框处的代码区别
开发环境 版本号 项目创建方式
微信开发者工具 - 工程化启动项目
hbuilderx - -

更多关于uni-app给uni获取自定义属性,使用HbuilderX和工程化的方式,返回结果不一致的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于uni-app给uni获取自定义属性,使用HbuilderX和工程化的方式,返回结果不一致的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这个问题是由于HBuilderX和工程化项目在编译时对uni对象处理方式不同导致的。核心差异点如下:

  1. 编译机制差异
  • HBuilderX使用的是老版本编译器,对uni对象的属性访问会直接返回undefined
  • 工程化项目使用Vue CLI模式,会通过Proxy代理uni对象,因此返回的是函数引用
  1. 解决方案
// 推荐使用标准API获取自定义属性
const value = e.currentTarget.dataset.xxx;
回到顶部