Hellopack VueアプリをWebpackでセットアップし、最初のAppコンポーネントが動作し、ボディにマウントされています。
main.js
import Vue from 'vue'
import App from './app.vue'
new Vue({
el: 'body',
components: { App }
})
app.vue
<template>
<div class="message">{{ message }}</div>
</template>
<script>
export default {
data () {
return {
message: 'Hello World'
}
}
}
</script>
私が試してみました
import TopBar from './top-bar.vue'
Main.jsとapp.vueのスクリプトセクションの両方で、使用してみました
<top-bar></top-bar>
運がなければ。
Vue docsのように、コンポーネントを適切に登録する方法が欠けていると思います。
Vue.component('top-bar', TopBar);
しかし、vue-loaderでwebpackを使用する場合、何か別のことをする必要があると思います。
示したようにグローバルに登録することも、単一のコンポーネントで使用するためにローカルに登録する場合は、Vueインスタンスのcomponents
オブジェクトに追加する必要があります:
<template>
<top-bar></top-bar>
<div class="message">{{ message }}</div>
</template>
<script>
import TopBar from './top-bar.vue'
export default {
data () {
return {
message: 'Hello World'
}
},
components: {
TopBar
}
}
</script>
以下に示すように、コンポーネントオブジェクトに適切な名前を付けることができます。
<template>
<nav-bar></nav-bar>
</template>
<script>
import TopBar from './TopBar.vue'
export default {
components: {
'nav-bar': TopBar
}
}
</script>