【发布时间】:2020-03-22 18:28:37
【问题描述】:
有没有办法使用 vue 来检查应该挂载 vue 实例的元素是否确实存在?我遇到了此元素不存在的情况,并希望避免出现以下错误:
[Vue warn]: Cannot find element: #app
[Vue warn]: Error in created hook: "TypeError: Cannot convert undefined or null to object"
TypeError: this.$store.getters[(this.namespace...
案例是:我希望能够在挂载vue之前检查元素是否真的存在。如果没有元素,请勿尝试安装。
【问题讨论】:
-
您的具体情况是什么?
div#app应始终在index.html中可用。否则你可能会搞砸设置。 -
Vue 中没有特定机制,但您可以使用
document.getElementById('app')获取元素,并且仅在该元素存在时启动 Vue。如果你不打算运行它,可能会浪费加载所有的 JS 代码。 -
我认为你可以尝试使用 Vue 生命周期钩子,你应该特别检查 mounted。有关生命周期钩子的更多信息,您可以在此处阅读:Vue life cycle
标签: vue.js