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
根据后台返回的数据 动态加载路由 不想每个页面都写了
啊,确实没这样写过,不知道会具体出什么问题啊,但是官方没有示例是这么写的,
唉 坑很多很多 引发了很多问题 不建议这样写
App.vue本身不是页面,这里不能编写视图元素。
在 uni-app 中,app.vue 不支持编写 <template> 模板,这是框架的明确限制。app.vue 仅用于应用级别的配置和生命周期管理,例如全局样式、全局数据或监听应用生命周期。
如果你在 app.vue 中写了 <template>,会导致编译异常或运行时错误,进而使得部分 uni.xxx API 无法正常调用。这是因为框架无法正确初始化应用实例,破坏了底层逻辑。
解决方案:
- 移除
app.vue中的<template>和<style>,只保留<script>部分用于导出配置(如globalData)和生命周期钩子。 - 将页面内容移至对应的页面组件(如
/pages/index/index.vue)。 - 如需全局组件或布局,请使用 uni-app 的全局组件 或 条件编译 处理平台差异。
示例 app.vue 正确写法:
<script>
export default {
onLaunch() {
console.log('App launched')
}
}
</script>


