《Vue学习笔记》--组件-ref获取DOM元素和组件

本文介绍在Vue中如何使用ref属性来获取DOM元素和组件实例,通过实例演示了如何在父组件中调用子组件的方法和访问其数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

《Vue学习笔记》--组件-ref获取DOM元素和组件

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>title</title>
    <script src="./lib/vue-2.4.0.js"></script>
</head>

<body>
    <div id="app">
        <!-- 在h3标签上 添加 ref标识 别名 ,这样 VM 就可以 通过 this.$refs 获取DOM相关元素--
            在console 输入 vm 命令 就可以 查看 $refs 中的元素-->
        <h3 id="myh3" ref="myh3">今天的天气:晴空万里!</h3>
        <!--也可以在这里 添加 ref 标识-->
        <input type="button" value="获取元素" @click="getElement" ref="mybtn">
        <hr>
        <!-- ref 获取组件元素 -->
        <login ref="mylogin"></login>

    </div>
    <script>
        var login = {
            template: '<h1>登录组件</h1>',
            data() {
                return {
                    msg: 'son msg'
                }
            },
            methods: {
                show() {
                    console.log('调用了子组件的方法')
                }
            }
        }
        var vm = new Vue({
            el: '#app',
            data: {},
            methods: {
                getElement() {
                    //注意:Vue 不推荐使用以下原生的方式
                    //console.log(document.getElementById('myh3').innerText)
                    //vue 使用 ref $refs (ref 全称 reference:引用)  值类型 和 引用类型 referenceError
                    //注意:$refs 包含所有 被 ref 标识的 DOM元素
                    console.log(this.$refs.myh3.innerText)
                        //调用子组件的数据
                    console.log(this.$refs.mylogin.msg)
                        //调用子组件的方法
                    this.$refs.mylogin.show()
                }
            },
            components: {
                login
            }
        })
    </script>


</body>

</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值