uni-app 字节跳动小程序开发bug太多 无法使用

uni-app 字节跳动小程序开发bug太多 无法使用

产品分类:

uniapp/小程序/抖音

PC开发环境操作系统:

Mac

PC开发环境操作系统版本号:

10.15.7

HBuilderX类型:

正式

HBuilderX版本号:

3.1.6

第三方开发者工具版本号:

3.1.6

基础库版本号:

3.1.6

项目创建方式:

HBuilderX

操作步骤:

<swiper-page class="swiper-page" :pid="page.pageid" :parentId="pageId" ref="page"></swiper-page>
mounted里面:
console.log(this.$refs)
console.log(this.$refs.page)

控制台console.log(this.$refs)输出正确,成功打印对象,console.log(this.$refs.page)则返回undefined,无法获取对象的属性值。其他平台正常

预期结果:

<swiper-page class="swiper-page" :pid="page.pageid" :parentId="pageId" ref="page"></swiper-page>
mounted里面:
console.log(this.$refs)
console.log(this.$refs.page)

控制台console.log(this.$refs)输出正确,成功打印对象,console.log(this.$refs.page)则返回undefined,无法获取对象的属性值。其他平台正常

实际结果:

<swiper-page class="swiper-page" :pid="page.pageid" :parentId="pageId" ref="page"></swiper-page>
mounted里面:
console.log(this.$refs)
console.log(this.$refs.page)

控制台console.log(this.$refs)输出正确,成功打印对象,console.log(this.$refs.page)则返回undefined,无法获取对象的属性值。其他平台正常

bug描述:

<swiper-page class="swiper-page" :pid="page.pageid" :parentId="pageId" ref="page"></swiper-page>
mounted里面:
console.log(this.$refs)
console.log(this.$refs.page)

控制台console.log(this.$refs)输出正确,成功打印对象,console.log(this.$refs.page)则返回undefined,无法获取对象的属性值。其他平台正常


更多关于uni-app 字节跳动小程序开发bug太多 无法使用的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

测试一下,增加延迟获取是否正常
提供较完整示例

更多关于uni-app 字节跳动小程序开发bug太多 无法使用的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这是一个字节跳动小程序平台特有的兼容性问题。在字节跳动小程序中,$refs 对象在组件挂载阶段可能存在异步初始化延迟,导致在 mounted 钩子中无法立即访问具体的 ref 引用。

建议尝试以下解决方案:

  1. 使用 $nextTick 延迟访问
mounted() {
  this.$nextTick(() => {
    console.log(this.$refs.page) // 此时应该能正常访问
  })
}
回到顶部