vue中使用ref获取dom对象

(1)在标签上绑定一个ref属性,该属性可以获得该标签的dom对象

    <div id="app">
        <div ref="hi" @click="say" class="demo" id="only">Hello World</div>
    </div>
    <script>

        var vm = new Vue({
            el: '#app',
            methods: {
                say() {
                    console.log(this.$refs)
                }
            }
        })
    </script>

结果:this.refs对象上有个hi对象,hi对象就是该标签的dom对象。

在组件中使用ref属性:

    <div id="app">
        组件一的值:<counter ref="one" @change="sum"></counter>
        组件二的值:<counter ref="two" @change="sum"></counter>
        一和二的总和:<span>{{sumNumber}}</span>
    </div>
    <script>
        Vue.component('counter', {
            template: `<div @click="handle">{{number}}</div>`,
            data: function(){
                return {
                    number: 0
                }
            },
            methods: {
                handle(){
                    this.number ++
                    this.$emit('change')
                }              
            }
        })
        var vm = new Vue({
            el: '#app',
            data: {
                sumNumber: 0
            },
            methods: {
                sum() {
                    this.sumNumber = this.$refs.one.number + this.$refs.two.number
                }
            }
        })
    </script>

结果:

注意:this是Vue实例

(2)el属性是element的意思,可以用实例上的$mount方法代替

        var vm = new Vue({
            
            data: {
                
            },
        })
        vm.$mount('#app');

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值