我正在开发一个 vue 应用程序,我的功能是将它切换到其他页面并使用 $refs 加载一个对话框。但是,我不断收到错误消息“无法读取未定义的属性 '$refs'”。我知道当路由器切换页面时,它会转到创建的钩子并且尚未加载引用。我怎样才能等到 refs 加载?下面是我的代码!提前致谢!
openUpdateDetails(animalId) {
this.$router
.push(
`/zoo/${
this.$route.params.id
}/animal/${animalId}/documents`
)
.finally(() => {
this.$nextTick(() => {
setTimeout(() => {
this.$refs['panel'].$refs['animal-card'].handleAnimalDocument('change_animal');
});
});
});
}
答案 0 :(得分:0)
我找不到直接等待组件安装的方法。 但我找到了其他方法。
beforeRouteEnter(to, from, next) {
next(vm => {
setTimeout(() => {
vm.$refs['panel'].$refs['animal-card'].handleNewAmendment('change_animal');
}, 200);
});
我在我要切换到的页面的计算属性之前添加了这个块。希望这对其他人有帮助!