为了账号安全,请及时绑定邮箱和手机立即绑定

vue组件通信

vue组件通信

萧十郎 2018-12-29 23:15:50
代码就是网上的demo:<div id="app4">    <display></display>    <increment></increment></div><script src="https://unpkg.com/vue"></script><script src="https://unpkg.com/axios@0.12.0/dist/axios.min.js"></script><script src="https://unpkg.com/lodash@4.13.1/lodash.min.js"></script><script>    var bus=new Vue();    Vue.component('display',{        template:'<button @click="add">+</button>',        data:function(){            return {count:0}        },        methods:{            add:function(){                bus.$emit('inc',this.count+1)            }        }    })    Vue.component('increment',{        template:'<span> Click: {{c}} times</span>',        data:function(){            return {c:0}        },        created:function(){            var _this=this;            bus.$on('inc',function(num){                _this.c=num            })        }    })    vm=new Vue({        el:'#app4'    })</script>为什么这个click触发一次之后就不再响应了,加到1后就不再增加了?
查看完整描述

1 回答

?
largeQ

TA贡献2039条经验 获得超7个赞

因为每次'display'组件触发的传值都是1啊,所以'increment'组件拿到的值就只能是1。 
不是不响应,而是每次结果都一样。

查看完整回答
反对 回复 2019-01-25
  • 1 回答
  • 0 关注
  • 462 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号