uni-app 页面配置用方法包裹后,局部引入的组件不生效

uni-app 页面配置用方法包裹后,局部引入的组件不生效

操作步骤:

  • bug描述

预期结果:

  • 组件正常加载

实际结果:

  • 组件没有加载

bug描述:

为了给页面做通用的扩展,对页面配置进行包裹如下:

export default OrderPage({  
  data() {  
    return {  
    };  
  },  

  components: {  
    componentSelect,  
    componentButton  
  },  
})

OrderPage会对配置项做处理后返回

export default function OrderPage(config) {
return config
}

附件是编译之后的代码比较。

Image


更多关于uni-app 页面配置用方法包裹后,局部引入的组件不生效的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

目前未支持,可以尝试改用 mixin,后续会考虑进行兼容

更多关于uni-app 页面配置用方法包裹后,局部引入的组件不生效的实战教程也可以访问 https://www.itying.com/category-93-b0.html


现在也不兼容吗?

回复 2***@qq.com: 已改善了兼容情况,但静态分析不能无限兼容,你可以试试你的需求是否满足

根据你描述的情况,组件未加载的问题可能出在配置包裹的方式上。在uni-app中,页面配置通常需要直接导出对象,而你的OrderPage包裹函数虽然返回了配置对象,但可能破坏了uni-app的编译机制。

建议检查以下几点:

  1. 确保OrderPage函数返回的配置对象结构完整,包含所有必要的页面选项
  2. 尝试不使用包裹函数,直接导出配置对象测试组件是否正常加载
  3. 检查编译后的代码差异,确认组件注册部分是否被正确处理

如果必须使用包裹函数,可以尝试以下修改:

const pageConfig = {  
  data() {  
    return {};  
  },  
  components: {  
    componentSelect,  
    componentButton  
  }  
};

export default OrderPage(pageConfig);
回到顶部