vue组件之间相互传递数据的实现方法(代码)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了vue组件之间相互传递数据的实现方法(代码),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1839字,纯文字阅读大概需要3分钟。
内容图文
本篇文章给大家带来的内容是关于php协成实现的详解(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。1、子组件给父组件传递数据
<body> <div id="app"> 父组件:{{total}} <br> <son-component v-bind:total="total"></son-component> </div> <script> Vue.component('son-component',{ template:'<div>子组件:{{total}}+{{num}}={{add}}</div>', props:{ total:Number }, data(){ return { num:10 } }, computed:{ add:function(){ return num=this.total+this.num } } }) var app=new Vue({ el:'#app', data:{ total:1 }, }) </script> </body>
通过v-bind动态绑定父组件中要传递的数据,子组件通过props属性接收父组件传递的数据。
2.父组件给子组件传递数据
<body> <div id="app"> <son-component v-on:change="getData"></son-component> <br> {{total}} </div> <script> Vue.component('son-component',{ template:'<button v-on:click=sendData>点击我向父组件传值</button>', data(){ return{ count:1 } }, methods:{ sendData:function(){ this.$emit('change',this.count) } } }) var app=new Vue({ el:'#app', data:{ total:1 }, methods:{ getData:function(value){ this.total=this.total+value } } }) </script> </body>
自定义一个事件,在子组件中通过this.$emit()触发自定义事件并给父组件传递数据,在父组件中监听自定义事件并接收数据。
3.非父子组件之间的通信
<body> <div id="app"> <a-component></a-component> <b-component></b-component> </div> <script> Vue.component('a-component',{ template:` <div> <span>a组件的数据:{{num}}</span><br> <button v-on:click="sendData">击我向b组件传递数据</button> </div> `, data(){ return { num:1 } }, methods:{ sendData:function(){ this.$root.bus.$emit('change',this.num) } } }) Vue.component('b-component',{ template:` <div>b组件接收a组件数据后相加的数据:{{count}}</div> `, data(){ return { count: 10 } }, created:function(){ this.$root.bus.$on('change',(value)=>{ //alert(value) this.count=this.count+value }) } }) var app=new Vue({ el:'#app', data:{ bus:new Vue() }, }) </script> </body>
以上就是vue组件之间相互传递数据的实现方法(代码)的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是互联网集市为您收集整理的vue组件之间相互传递数据的实现方法(代码)全部内容,希望文章能够帮你解决vue组件之间相互传递数据的实现方法(代码)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。