2

我对 Vue.js 完全陌生,因此我觉得问题很简单。这是我的Test.vue组件:

<template>
  <p>Hello Worldd</p>
</template>
<script>
export default {
  name : 'test'
}
</script>

我试图在另一个名为UserDevices.vue. 这是该文件的内容:

<template>
  <div>
    <test></test>
    <p>test</p>
  </div>
</template>

<script>
import Test from './Test'

export default {
  name: 'UserDevices',
  components: {Test}
}

我收到一个错误说:

[Vue warn]: Unknown custom element: <test> - did you register the component correctly? For recursive components, make sure to provide the "name" option.

found in

---> <UserDevices> at src/components/UserDevices.vue
       <App> at src/App.vue
         <Root>

我正在为 vue 使用 webpack 脚手架作为模板。这不是正确的方法吗?

4

1 回答 1

6

您正在使用.vue文件,这意味着vue-loader正在寻找包含在<script>标签中的脚本部分。但是,因为您没有使用 关闭脚本标签</script>,所以 vue-loader 将忽略.vue文件的该部分(没有任何警告)。

Vue 组件的模板仍会被加载,但 Vue 实例的模型(及其所有数据属性、方法、组件等)不会。这就是Vue找不到<test>组件的原因。

于 2017-10-17T13:08:47.307 回答