onWindowResize浏览器也好使,也管用。那uni-app编译不让过呢

onWindowResize浏览器也好使,也管用。那uni-app编译不让过呢

开发环境 版本号 项目创建方式
Windows 11 HBuilderX
### bug描述:
编译报错

### 示例代码:
```javascript
onReady() {
    let that = this;
    // 监听窗口尺寸变化事件
    that.windowResizeCallback = (res) => {
        // console.log('onWindowResize', res);
        that.setBannerHeight();
    }
    uni.onWindowResize(that.windowResizeCallback);
    // 测试登录
    /*
    uni.navigateTo({
        url: '/pages/login/login'
    });
    */
}

操作步骤:

运行到浏览器

预期结果:

编译不报错

实际结果:

编译库库报错 image


更多关于onWindowResize浏览器也好使,也管用。那uni-app编译不让过呢的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

用// @ts-ignore先屏蔽了

更多关于onWindowResize浏览器也好使,也管用。那uni-app编译不让过呢的实战教程也可以访问 https://www.itying.com/category-93-b0.html


在uni-app中使用onWindowResize时需要注意几个关键点:

  1. 该API是uni-app 3.4.0+版本新增的,请确保HBuilderX版本足够新。可以通过菜单"帮助->关于"查看当前版本。

  2. 浏览器环境下需要添加条件判断:

onReady() {
    if(typeof uni.onWindowResize === 'function') {
        this.windowResizeCallback = (res) => {
            this.setBannerHeight();
        }
        uni.onWindowResize(this.windowResizeCallback);
    }
}
  1. 编译报错可能是因为:
  • 使用了旧版本HBuilderX
  • 没有正确配置manifest.json中的"mp-weixin"等小程序配置
  • 代码中有其他语法错误
  1. 解决方案:
  • 升级HBuilderX到最新稳定版
  • 检查manifest.json配置
  • 确保在onUnload中移除监听:
onUnload() {
    if(this.windowResizeCallback) {
        uni.offWindowResize(this.windowResizeCallback);
    }
}
回到顶部