计数器通过组件的props和event实现

<template id="app1">
    <div>
        <h2>{{acount}}</h2>
        <button @click="add">+</button>
        <button @click="sub" v-bind:disabled='acount<=1'>-</button>
    </div>
</template>

  这是计数器的组件,通过add进行++,sub进行--;

 components:{
                cpn1:{
                    template:'#app1',
                    props:{
                        acount:{
                            type:Number,
                            required:true
                        }
                    },
                    data:function(){
                        return{
                            dcount:this.acount //通过data renturn一个数据来获取acount的值
                        }
                    },
                    methods:{
                        add:function(){
                            this.dcount++
                            this.$emit('add',this.dcount) //进行发射
                        },
                        sub:function(){
                            this.dcount--
                            this.$emit('sub',this.dcount)//进行发射
                        }
                    }
                }
              
            }

  

data:{
  count = 5 
}
madd(value){
  this.count = value
}
msub(value){
  this.count = value
}

  

<div id="app">
  <!--把父组件的count绑定到子组件的acount中,把子组件的add方法发送到madd方法中,sub方法发送到msub中--> <cpn1 v-bind:acount="count" @add="madd" @sub="msub"></cpn1> </div>

  接受代码

posted @ 2020-11-26 17:18  zeal666  阅读(107)  评论(0)    收藏  举报