Vue.js不会渲染组件

时间:2017-08-16 14:02:34

标签: javascript vue.js

我正在使用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;选项。

2 个答案:

答案 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)为我工作