• 技术文章 >web前端 >Vue.js

    vue.js怎么获取dom

    coldplay.xixicoldplay.xixi2020-11-10 11:02:57原创409

    vue.js获取dom的方法:1、给html中原始标签对或子组件中定义ref属性,在【mounted(){}】方法后使用【this.$refs】获取DOM元素;2、mounted对组件的内容进行了修改后继续用【this.$refs】。

    【相关文章推荐:vue.js

    vue.js获取dom的方法:

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset='utf-8'>
    <title>Vue组件中获取DOM元素的方式之$refs的使用</title>
    </head>
    <body>
    <div id='app'></div>
    <script type='text/javascript' src='node_modules/vue/dist/vue.js'></script>
    <script type='text/javascript'>
    Vue.component('Btn',{
    template:`
    <button>我是按钮</button>
    `
    })
    let App = {
    data:function() {
    return {
    isShow:false
    }
    },
    template:`
    <div>
    <input type='text' ref='input1'/>
    <input type='text' ref='input2' v-show='isShow'/>
    <Btn ref='btn1'/>
    </div>
    `,
    //对应输出结果为下面第一张图
    // mounted:function() {
    // console.log(this.$refs)
    // console.log(this.$refs.input1)
    // console.log(this.$refs.input2)
    // console.log(this.$refs.btn1)
    // }
    mounted:function() {
    // 修改ref=input2的v-show值,让其显示, 接着获取该DOM并让其获得焦点,但是没法获得焦点,这是因为mounted内无法获得更新DOM后的DOM元素,这个时候需要调用this.$nextTick方法,在其回掉函数中重新执行代码this.$refs.input2.focus()
    this.isShow = true
    // this.$refs.input2.focus()
    this.$nextTick(function() {
    this.$refs.input2.focus()
    })
    },
    }
    let  vm = new Vue({
    el:'#app',
    data:function() {
    return {
    }
    },
    components:{
    App
    },
    template:`
    <App/>
    `
    })
    </script>
    </body>
    </html>

    对应已注释mounted中的内容

    52bd5286018dafc6f461dc8acd47aea.png

    mounted中对this.$nextTick的使用使得mounted中可以获得已更新的DOM元素。在本代码中让已更新的DOM元素获得焦点

    e3d27917c422ef3b9b1688d199681a7.png

    相关免费学习推荐:javascript(视频)

    以上就是vue.js怎么获取dom的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:vue.js 获取dom
    上一篇:vue.js怎样刷新组件 下一篇:vue.js怎么判断对象为空
    大前端线上培训班

    相关文章推荐

    • 基于vue1和vue2获取dom元素的方法• 在vue中如何获取dom元素• JavaScript获取dom元素querySelector()替代getElementById()的方法• js获取DOM元素的方式总结

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网