単一ファイルコンポーネント (SFC)
参考:
コンポーネント
参考:
インスタンスの生成
App.vue
を App
としてインポートし、components
に指定して Vue
インスタンスを生成する。作成したインスタンスは el
で指定した DOM 要素にマウントされる。
import App from './components/App.vue' const app = new Vue({ el: '#app', data: { // ... }, components: { App } })
参考:
コンポーネントをローカル登録する
webpack / Babel により ES2015 モジュールが有効な場合の書き方
import ... from ...
によって .vue
ファイルからインポートした子コンポーネントを components
に指定する。子コンポーネントは components
で含められた親コンポーネントの描画でのみ有効となる。(依存関係にある子コンポーネントを常に明示的に含める必要がある。)
import ComponentA from './ComponentA.vue' export default { // ... components: { ComponentA } }
参考:
基底コンポーネントをまとめてグローバル登録する方法
参考:
基底コンポーネントの自動グローバル登録 | Vue.js [公式]
SFC 内で子コンポーネントを定義する
子コンポーネントの Vue インスタンス生成に使うオプションをオブジェクトとして定義し、親コンポーネントに components
として渡す。
<!-- App.vue --> <template> <div id="app"> <HelloWorld msg="Welcome to Vue.js"/> </div> </template> <script> // inline component const HelloWorld = { props: ['msg'], render: function (h) { return h('div', [ h('h1', 'Hello world'), h('div', this.msg) ]) } } export default { name: 'app', components: { HelloWorld } } </script>
参考:
Writing multiple Vue components in a single file | Code with Hugo