.vue
ファイルは、以下の3つの部分を持つことが一般的です:
-
テンプレート (
template
): HTMLのような構造を持ち、表示するコンテンツやレイアウトを記述します。 -
スクリプト (
script
): コンポーネントのロジックやデータ、メソッドを記述します。 -
スタイル (
style
): このコンポーネント専用のCSSスタイルを記述します。
.vue
ファイルの基本的な構成例
<template>
<div class="greeting">
<h1>{{ message }}</h1>
<button @click="changeMessage">メッセージを変更</button>
</div>
</template>
<script>
export default {
data() {
return {
message: 'こんにちは、Vue.js!'
};
},
methods: {
changeMessage() {
this.message = 'メッセージが変わりました!';
}
}
};
</script>
<style scoped>
.greeting {
text-align: center;
}
button {
margin-top: 20px;
padding: 10px;
}
</style>
上記のコードの説明
-
<template>
: ここにはHTMLの構造が記述されています。Vue.jsでは、このテンプレート内でデータバインディング({{ message }}
)やイベントハンドリング(@click="changeMessage"
)を使って、動的なコンテンツを表示できます。 -
<script>
: このセクションには、コンポーネントのロジック(データやメソッド)を記述します。data()
メソッドでコンポーネントの状態を定義し、methods
でメソッドを定義します。 -
<style>
: ここでCSSスタイルを定義します。scoped
を使うことで、このコンポーネント専用のスタイルを適用することができます。
Vue.jsコンポーネントの構成
Vue.jsでは、上記の.vue
ファイルをコンポーネントとして使い、App.vue
などのルートコンポーネントを作成し、そこから子コンポーネントを呼び出していく構成が一般的です。
例: 複数のコンポーネントを組み合わせる
App.vue
(親コンポーネント)
<template>
<div id="app">
<h1>Vue.jsのコンポーネント例</h1>
<greeting></greeting>
</div>
</template>
<script>
import Greeting from './components/Greeting.vue';
export default {
components: {
Greeting
}
};
</script>
<style>
#app {
text-align: center;
}
</style>
Greeting.vue
(子コンポーネント)
<template>
<div class="greeting">
<h2>{{ message }}</h2>
<button @click="changeMessage">メッセージを変更</button>
</div>
</template>
<script>
export default {
data() {
return {
message: 'こんにちは、Vue.js!'
};
},
methods: {
changeMessage() {
this.message = 'メッセージが変わりました!';
}
}
};
</script>
<style scoped>
.greeting {
margin-top: 20px;
}
button {
padding: 8px 16px;
margin-top: 10px;
}
</style>
上記コードの流れ
-
App.vue
では、Greeting
コンポーネントをインポートし、components
オプションを使って登録しています。これにより、<greeting></greeting>
タグを使って子コンポーネントを表示できます。 -
Greeting.vue
は実際のコンポーネントで、ユーザーのアクションに応じてメッセージを変更する機能を持っています。
実行環境のセットアップ
このようにVue.jsでは、App.vue
などのコンポーネントを使って、複雑なUIを組み立てることができます。次に、.vue
ファイルを実際に動かすための開発環境を整える方法を簡単に説明します。
1. npm create vue@latest
を使ってプロジェクトをセットアップ
Vue.jsの開発を始めるためには、npm create vue@latest
(create-vue
)を使うと便利です。以下の手順で環境をセットアップできます。
# 新しいVueプロジェクトを作成
npm create vue@latest my-project
# プロジェクトディレクトリに移動
cd my-project
# 依存関係をインストール
npm install
# 開発サーバーを起動
npm run dev
これで、Vueの開発環境が整い、.vue
ファイルを使ってコンポーネントを開発できます。
2. App.vue
やGreeting.vue
を作成
src/components
フォルダ内にコンポーネントファイルを作成し、App.vue
や他のコンポーネントでインポートして使います。
3. 開発サーバーで表示
npm run dev
を実行すると、http://localhost:5173
でブラウザからアプリケーションを確認できます。コードを変更するたびに自動的にリロードされ、リアルタイムで結果を確認できます。
まとめ
- Vue.jsでは、
.vue
ファイルを使ってコンポーネントを定義し、template
、script
、style
を1つのファイルにまとめて開発することができます。 -
npm create vue@latest
を使うと、簡単に開発環境をセットアップでき、.vue
ファイルを使ったコンポーネントベースの開発が行えます。 - 親コンポーネントから子コンポーネントをインポートして、再利用可能なコンポーネントを作成することができます。
これにより、複雑なフロントエンドの構造をシンプルに管理できますし、コンポーネントの再利用性や保守性も向上します。