我目前正在尝试确保我的组件vue2dropzone
在应用程序的初始加载时被禁用,然后当我尝试使应用程序响应移动时,我开始在控制台中注意到此错误。
[Vue warn]: Error in mounted hook: "TypeError: this.$refs.vue2dropzone is undefined"
其次是
TypeError: "this.$refs.vue2dropzone is undefined"
我注意到 Vue 中出现的这个问题,根据我的研究,这似乎是一个常见问题,例如,当您有v-if
或v-else-if
在组件子中修改以显示某些内容时,将再次调用生命周期。
我的 vue2dropzone 组件代码片段只包括
在我的打字稿文件中
private mounted() {
this.$refs.vue2dropzone.disable();
}
在我的 vue 文件中
<div v-if="some condition">
<form>
<vue2Dropzone
ref="vue2dropzone"
id="dropzone"
class="vue-dropzone"
></vue2Dropzone>
</form>
</div>
<div v-else-if="some other condition">
<form>
<vue2Dropzone
ref="vue2dropzone"
id="dropzone"
class="vue-dropzone"
></vue2Dropzone>
</form>
</div>
我开始怀疑第v-show
一个之前的v-if
存在是否不会让人想起生命周期,因为当我在网络应用程序上时,它被禁用,但是当我切换到移动响应时,它显示为未定义。
有什么解决方案可以解决这个问题吗?我已经看到v-show
被使用,this.$nextTick
但在我的情况下它真的没有帮助我。我应该把它放在生命周期的另一部分mounted()
吗?