我正在使用Vue.js,我想尝试渲染组件,但它不起作用
main.js:
import Vue from 'vue';
import 'bulma';
import Navbar from './Navbar.vue';
Vue.component('navbar', Navbar);
const MyC = Vue.component('myc', {
template: '<h1>Are you working?</h1>',
});
const root = new Vue({
el: '#app',
components: {
Navbar, MyC,
},
});
的index.html
<body>
<div id="app">
<navbar></navbar>
<myc></myc>
</div>
<script src="dist/build.js"></script> <!-- Webpack endpoint -->
</body>
Navbar.vue
<template>
<h1>HELLO FROM NAVBAR</h1>
</template>
<script>
// Some logic here
export default {
name: 'navbar',
};
</script>
我编写的是编写的指南,但没有一种方法可以渲染组件
我只有空白页
我正在使用webpack + vue-loader
[UPDATE]
没有组件导入只是渲染模板
[更新2]
收到此消息
[Vue警告]:未知的自定义元素:
<navbar>
- 您是否正确注册了该组件?对于递归组件,请务必提供&#34; name&#34;选项。
答案 0 :(得分:1)
将您的代码从index.html移至app.vue,index.html是一个html文件,但不是一个vue文件
尝试一下,现在它将是工作,幸福的生活。//main.js
import Vue from 'vue'
import App from './App'
Vue.component('myc', { //gobal components
template: '<h1>Are you working?</h1>',
})
new Vue({
el: '#app',
template: '<App><App/>',
components: {
App
}
})
//index.html
<body>
<div id="app">
</div>
<script src="dist/build.js"></script>
</body>
//app.js
<template>
<div class="app">
<navbar></navbar>
<myc></myc>
<div
</template>
<script>
import navbar from 'path of Navbar.vue' //local components
export default {
name: 'app',
component:{
navbar
}
}
</script>
答案 1 :(得分:0)
我已将所有内容移至App.vue
render: h => h(App)
为我工作