LoginSignup
1
0

More than 3 years have passed since last update.

Vue.jsのコンポーネントについて

Last updated at Posted at 2020-02-20

vue.jsを触っていると、インスタンスとコンポーネントとか概念が出てきてごっちゃになりそうだったので、ここではコンポーネントについてまとめます。

コンポーネントとは

  • 同じような処理を行う部分を部品としてまとまった部品

  • ある部品が、HTML上で、「どのように表示されるのか」をオブジェクトとしてまとめるには、templateオプションを使います。そのtemplateオプションでまとめたオブジェクトに名前(コンポーネントのタグ名)をつけたもの。

index.html
<my-component></my-component> <!-- ←ここに部品が表示される -->

ちなみに

コンポーネントの命名規則は、
パスカルケース(アッパーキャメル) or ケバブケースだそうです

  • パスカル(アッパーキャメル)ケース・・・単語の最初を大文字で始める書き方 (HogeFuga など)
  • ケバブケース・・・単語間をハイフンで繋ぐ書き方 (hoge-fuga)

なので上の例では、ケバブケースで書かれてるってことになります

作ったコンポーネントの使い方

  • グローバルに登録する方法
  • ローカルに登録する方法

がありますが、ローカルに登録する方法を書いていきます。

ローカルに登録してコンポーネントを使えるようにする

Vueインスタンスのcomponentオプションに、「コンポーネントのタグ名:コンポーネントのオブジェクト名」と指定して、このVueインスタンス内で使えるように登録する。

vue.js
var コンポーネントのオブジェクト名 = {
   template:'HTML部分'
}
new Vue({
  el:'#app'
  components:{
  'コンポーネントのタグ名':コンポーネントのオブジェクト名
}
})

という感じで書きます


<div id="app">
 <my-component></my-component>
 <my-component></my-component>
 <my-component></my-component>
</div>
vue.js
 var MyComponent = {'<p class="my-comp">Hello</p>'
 }
new Vue({
  el:'#app',
  components:{
   'my-component':MyComponent
 }
})

Vueインスタンスの「components:」には、「コンポーネントのタグ名:コンポーネントのオブジェクト名」と指定し、「my-component 」というタグ名に「MyComponent」オブジェクトを設定する。
これで、HTML 上に<my-component></my-component>と書くだけで、作ったコンポーネントが表示されるようになります。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0