uni-app中app.vue写template导致很多uni.方法无法使用

uni-app中app.vue写template导致很多uni.方法无法使用

7 回复

为什么要在这里加template呢

更多关于uni-app中app.vue写template导致很多uni.方法无法使用的实战教程也可以访问 https://www.itying.com/category-93-b0.html


根据后台返回的数据 动态加载路由 不想每个页面都写了

啊,确实没这样写过,不知道会具体出什么问题啊,但是官方没有示例是这么写的,

唉 坑很多很多 引发了很多问题 不建议这样写

有hxd知道原因吗

App.vue本身不是页面,这里不能编写视图元素。

在 uni-app 中,app.vue 不支持编写 <template> 模板,这是框架的明确限制。app.vue 仅用于应用级别的配置和生命周期管理,例如全局样式、全局数据或监听应用生命周期。

如果你在 app.vue 中写了 <template>,会导致编译异常或运行时错误,进而使得部分 uni.xxx API 无法正常调用。这是因为框架无法正确初始化应用实例,破坏了底层逻辑。

解决方案

  1. 移除 app.vue 中的 <template><style>,只保留 <script> 部分用于导出配置(如 globalData)和生命周期钩子。
  2. 将页面内容移至对应的页面组件(如 /pages/index/index.vue)。
  3. 如需全局组件或布局,请使用 uni-app 的全局组件条件编译 处理平台差异。

示例 app.vue 正确写法:

<script>
export default {
  onLaunch() {
    console.log('App launched')
  }
}
</script>
回到顶部