Vue组件未在路由器视图中呈现

时间:2017-03-10 02:42:41

标签: scope components vue.js vue-router

最近我一直在前端和vue-router中使用vue来塑造SPA。

我的问题是我无法访问主Vue实例中定义的组件:

import ElementComponent from './Element';

const app = new Vue({
   el: '#app',
   router,
   components: { Element: ElementComponent }
});

每当我在#app范围内<element></element>时,组件都会被渲染,但我不能在路径组件中使用该元素。

我的路线定义如下:

var routes = [
{ path: '/section/part', component: require('../views/Part') }];

然后提供给路由器实例:

 new VueRouter({routes});
每当我尝试在部件组件模板中调用<element></element>时,

断点我在vuedevtools中得到这个: [Vue警告]:未知的自定义元素: - 你是否正确注册了组件?对于递归组件,请确保提供“名称”选项。 (位于C:\ Users \ Doe \ project \ js \ views \ Part.vue)

1 个答案:

答案 0 :(得分:2)

您需要将组件导入views/Part组件。您在主Vue实例中执行的操作也是如此,但仅限于零件组件中。

我相信如果你想让组件全局化你需要使用

Vue.component('my-component', {
  template: '<div>A custom component!</div>'
})

参考https://vuejs.org/v2/guide/components.html#Registration