「コンポーネント」とは?
【Vue.js】でよく見かける「コンポーネント」についての練習。
「コンポーネント」とは、
「部品ごとにテンプレートとJavaScriptをセットにして、独立管理できる」もの(らしい)。
コーディングしていると、
「JavaScriptは[.js]ファイルに」
「CSSは[.css]ファイルに」
と分散させて管理しますね。
「正直めんどくさい」
「1つのファイルで管理したいけど、ファイルにスクリプトタグ入れるわけにいかんし」
という「何とかなりそうだけれども、解決方法シラネ」関連のお悩みの解決方法は【Vue.js】が持っていたという認識です。
よくわからんのでとりあえず触ってみます。
【サンプル】
「コンポーネント定義」と表示されれば成功。
HTML部分
<!doctype html> <html lang="ja" class="no-js"> <head> <meta charset="utf-8"> <script src="https://cdn.jsdelivr.net/npm/vue@2.5.22/dist/vue.js"></script> </head> <body> <div id="app"> <my-component></my-component> </div> </body> </html>
JavaScript部分
<script> var myComponent = { template: '<p>コンポーネント定義</p>' } var app = new Vue({ el: '#app', components: { 'my-component': myComponent } }) </script>
コンポーネント表示の仕組みについて
①HTML部分にコンポーネントの建設予定地を決める。
<div id="app"> <my-component></my-component> </div>
毎度お決まりの<div>タグ内にコンポーネント用のタグを書き込みます。
<my-component>のインスタンスは自分で定義しただけなので、お好きなインスタンス名を設定可能です。
②JavaScriptでテンプレートを宣言
var myComponent = { template: '<p>コンポーネント定義</p>' }
テンプレート用の変数を宣言して「template:」オプションに入れたいHTMLを入力します。
ここのところjQueryぽいですね。
いちおう今回はこれで完了です。
【v-if】や【v-show】で表示/非表示を切り替える運用が容易に想像できますね。