Vue.jsのコンポーネント【現役エンジニアが解説】
今回は、Vue.jsのコンポーネントについて、簡単に解説していきます。
コンポーネントについて
Vue.jsではコンポーネントを作ることが可能です。
コンポーネントとは、あらかじめ定義されたVueのインスタンスです。
<div id="app"> <button-counter></button-counter> </div> <script> Vue.component('button-counter', { data: function () { return { count: 0 } }, template: '<button v-on:click="count++">{{ count }}回目のクリック</button>' }) new Vue({ el: '#app' }) </script>
上記の例では、クリック回数表示機能付きボタンをbutton-counterという名前でコンポーネント化し、使っています。
コンポーネントの再利用
コンポーネントは再利用することができます。
<div id="app"> <button-counter></button-counter> <button-counter></button-counter> <button-counter></button-counter> </div>
先程の例では、button-counterのコンポーネントを何度も利用できます。
このときに、クリック回数であるcountプロパティはそれぞれのコンポーネントで独立しています。
ローカル登録
先程のコンポーネントはグローバル登録をしました。
すなわち、どこでも使えるコンポーネントということです。
<div id="app"> <button-counter></button-counter> <button-counter></button-counter> <button-counter></button-counter> </div> <script> var buttonCounter = { data: function () { return { count: 0 } }, template: '<button v-on:click="count++">{{ count }}回目のクリック</button>' } new Vue({ el: '#app', components: { 'buttonCounter': buttonCounter } }) </script>
ローカル登録も可能で、例えば、上記のコードでは、先程のコンポーネントをappというidの要素の中だけで使えるコンポーネントにしています。