NewThreeBody 2020-10-04 11:41 采纳率: 100%
浏览 887
已采纳

uni-app的示例项目中,App.vue是在哪里被挂载的?

通过运行uni-app项目生成命令:

vue create -p dcloudio/uni-preset-vue my-project

自动生成了项目,观察项目中的main.js

最后是这样写的

const app = new Vue({
    store,
    ...App
})
app.$mount()

它应该是被挂载到了template.h5.html这个文件中的#app节点

<div id="app"></div>

根据vue官方对$mount方法的说明($mount
),$mount如果不带任何参数的话,是需要在后续使用document.xxx这样的方法来定义挂载节点的,但我找了整个项目,也没找到有哪里写了这么一行。

那么它到底是在哪里进行App.vue这个根组件的挂载的呢?
有熟悉uni-app的朋友来指导一下吗?


找到答案了,是在uni-app的源码中实现了$el的定义

https://github.com/dcloudio/uni-app/blob/master/src/core/service/plugins/app/index.js

在以上文件中有一个beforeMount方法定义了$el的挂载位置

    beforeMount: function appBeforeMount () {
      // TODO 平台代码
      this.$el = document.getElementById('app')
    },
  • 写回答

1条回答 默认 最新

  • threenewbee 2020-10-04 12:20
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥16 Qphython 用xlrd读取excel报错
  • ¥15 单片机学习顺序问题!!
  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
  • ¥15 相敏解调 matlab
  • ¥15 求lingo代码和思路
  • ¥15 公交车和无人机协同运输
  • ¥15 stm32代码移植没反应
  • ¥15 matlab基于pde算法图像修复,为什么只能对示例图像有效
  • ¥100 连续两帧图像高速减法