この記事は2020年03月26日に投稿しました。
目次
リンク
1. はじめに
こんにちは、iOSのエディタアプリPWEditorの開発者の二俣です。
今回は業務で使用しているVue.jsのコンポーネントで子から親へデータを送る方法についてです。
2. Vue.jsのコンポーネントで子から親へデータを送る
Vue.jsのコンポーネントで子から親へデータを送るには、カスタムイベントと $emitを使用します。
実装例
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>Sample</title> </head> <body> <!-- 'app'のタグはVue.jsによって操作されます。 --> <div id="app"> <!-- コンポーネントを表示します。 --> <!-- コンポーネントのカスタムイベント"childEvent"が発生した場合、親の"parentMethod"を呼び出します。 --> <comp-child v-on:child-event="parentMethod"></comp-child> </div> <!-- Vue.jsを使用します。 --> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <script src="vue.js"></script> <!-- Vue.jsで操作する内容です。 --> <script> Vue.config.productionTip = false // コンポーネントを定義します。 // new Vueの前に定義します。 Vue.component('comp-child', { template: '<button v-on:click="clickHandler">イベント発生</button>', methods: { // ボタンが押下された時に呼び出されます。 clickHandler: function() { // $emitでカスタムイベント"child-event"を発生させます。 this.$emit('child-event') } } }) var app = new Vue({ // divタグの'app'内を操作対象とします。 el: '#app', methods: { // コンポーネントのカスタムイベント"childEvent"が発生した場合に呼び出されます。 parentMethod: function() { alert('イベントが発生しました。') } } }) </script> </body> </html>
3. おわりに
前々回
の逆で、子から親へデータを送る方法についてです。
若干わかりにくい感じです。
リンク
紹介している一部の記事のコードはGitlabで公開しています。
興味のある方は覗いてみてください。
私が勤務しているニューラルでは、主に組み込み系ソフトの開発を行っております。
弊社製品のハイブリッドOS Bi-OSは高い技術力を評価されており、特に制御系や通信系を得意としています。
私自身はiOSモバイルアプリやウィンドウズアプリを得意としております。
ソフトウェア開発に関して相談などございましたら、お気軽にご連絡ください。
また一緒に働きたい技術者の方も随時募集中です。
興味がありましたらご連絡ください。
EMAIL : info-nr@newral.co.jp / m-futamata@newral.co.jp
TEL : 042-523-3663
FAX : 042-540-1688