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

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条回答 默认 最新

相关推荐 更多相似问题