vue 基础入门笔记 15:ref

vue 基础入门笔记 15

  • ref被用来给元素或子组件注册引用信息。引用信息将会注册在父组件的 $refs 对象上。如果在普通的 DOM 元素上使用,引用指向的就是 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>Document</title>
    <script src="https://cdn.jsdelivr.net/npm/vue"></script>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css"
        integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
</head>

<body>
    <div id="app">
        <!-- 操作普通的 DOM 元素 -->
        <button type="button" @click='clickA' class="btn btn-danger">button</button>
        <h1 ref="h1">hello world</h1>
        <!-- 操作组件 -->
        <com ref="com">
            <h1>click</h1>
        </com>
    </div>
    <template id="comA"></template>
    <script>
        var vm = new Vue({
            el: '#app',
            data: {},
            methods: {
                clickA() {
                    //操作普通的 DOM 元素
                    console.log(this.$refs.h1.innerText)
                    //console.log(this.$refs.comA.msg)
                    //操作组件的data
                    console.log(this.$refs.com.msg)
                    //操作组件的methods
                    this.$refs.com.show()
                }
            },
            components: {
                'com': {
                    template: '#com',
                    data() {
                        return {
                            msg: 'msg'
                        }
                    },
                    methods: {
                        show() {
                            console.log('show')
                        }
                    },
                }
            }
        });
        Vue.config.devtools = true
    </script>
</body>

</html>
本作品采用《CC 协议》,转载必须注明作者和本文链接
日照香炉生紫烟
September
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!