vue.js | 您所在的位置:网站首页 › html弹框代码 › vue.js |
vue.js - VUE2对话框没弹出来的时候通过ref找不到对话框内部的元素?
问题描述: .... 如题,我想对话框弹出之前,想清空input,img的内容 this.$refs.preView.src =""; this.$refs.photoFile.value="";this.$refs里找不到preView,photoFile这个是啥子原理 第 1 个答案: 这是因为对话框弹出之前没这个这个DOM, 既然都使用Vue了, 为什么还要操作DOM呢 ,完全可以这么写以img举例, :弹出前:this.imgSrc = '' 第 2 个答案: 在 Vue 2 中,当对话框还没有弹出来时,其内部的元素是无法通过 ref 找到的。这是因为 Vue 组件在初始化时,还没有被挂载到 DOM 上,所以无法访问到组件内部的 DOM 元素。 如果你需要在对话框弹出后访问对话框内部的元素,可以考虑在对话框的 shown 事件中进行操作,该事件会在对话框显示出来后被触发。例如: vueCopy code export default { data() { return { dialogVisible: false }}, methods: { onDialogShown() { // 对话框显示后,可以访问对话框内部的元素 const dialogContent = this.$refs.dialogContent // ... }}}在上面的示例中,我们在对话框的 shown 事件中访问了对话框内部的元素,通过 $refs 获取了对话框内容的 DOM 元素。当对话框显示出来后,该事件会被触发,我们就可以在事件处理函数中访问对话框内部的元素了。 下一节:前端 - nuxt 进行 build 的时候提示 no such file or directory 错误?在开发时候正常,但是打包时出现错误实际上 about.vue 这个文件是存在的,查看出错的位置也就是 fs.readFileSyn ... |
CopyRight 2018-2019 实验室设备网 版权所有 |