ホームページ > 記事 > ウェブフロントエンド > Vueコンポーネント間でデータを転送するための実装方法(コード)
この記事では、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() を通じて子コンポーネントでカスタム イベントをトリガーします。 give 親コンポーネントはデータを渡し、カスタム イベントは親コンポーネントでリッスンおよび受信されます。
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コンポーネント間でデータを転送するための実装方法(コード)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。