LoginSignup
177
144

More than 3 years have passed since last update.

export defaultについて

Posted at

Vue.jsを扱っていて、export defaultがよくわからなかったので調べてみました。

単一ファイルコンポーネント

単一ファイルコンポーネントとは、コンポーネントを構成するtemplate、style、scriptを1つのVueファイルでまとめて管理することを言います。
機能ごとに「HTML」「CSS」と切り出すのではなく、部品ごとに切り出して管理し、それをだし分けることでUIを作成することができます。
単一ファイルコンポーネントの思想で作られたのがVueCLIです。

他のコンポーネントで利用できるようにするためには

それでは、単一ファイルコンポーネントの思想で、他のコンポーネントでも利用できるようにするためにはどうすればよいのでしょうか。
それは、 export default でメンバーを囲むことで、外部からも参照できるようにします。
単一ファイルコンポーネントでは外部から参照されることが前提の仕組みになるので、基本的にscriptの部分は export default で囲むことが前提となります。

<script>
export default {
    name: "Header",
    data() {
        return{
            msg2: "はじめまして"
        }
    } 
}
</script>

使う側(親となる)コンポーネントでは、インポートした上で、使うコンポーネントをまた export default で囲んで templateの中で使えるモジュールとします。

<script>
import Header from '@/components/Header.vue'

export default {
  name: 'home',
  components: {
    Header
  }
}

</script>

scriptで export default で囲んでいるので、テンプレートでは Header を使うことが可能となります。

<template>
  <div class="home">
    <Header/>
    <img alt="Vue logo" src="../assets/logo.png">
    <HelloWorld msg="こんにちは"/>
    <h1>This is an about page <fa icon="user" /></h1>
  </div>
</template>

単一ファイルコンポーネントでは、関連するどちらのvueファイルでも export default が必要となります。

177
144
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
177
144