javascript 如何解决“无法解决:应用程序版本中的组件”

hc8w905p  于 2022-12-21  发布在  Java
关注(0)|答案(3)|浏览(136)

我通过引用this video来学习Vue3的组件。
在此视频中,大约6:37,当导师创建Header. vue并编辑App.vue时,测试站点上显示页眉。我编写了相同的代码,但出现错误,未显示任何内容。
任何帮助都将不胜感激。

    • 错误信息**
[Vue warn]: Failed to resolve component: Header 
  at <App>
  runtime-core.esm-bundler.js?5c40:38
    • 代码**

[应用程序版本]

<template>
  <Header />
</template>

<script>
import Header from './components/Header.vue';

export default {
  setup() {
    return {
      Header
    }
  }
}
</script>

<style>
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'Fira Sans', sans-serif;
}
body {
  background: #EEE;
}
</style>

[标题版本]

<template>
  <h1>Income Tracker</h1>
  <div class="total-income">¥0</div>
</template>

<script>
export default {
    
}
</script>

<style scoped>
header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 30px;
  background-color: #313131;
  border-bottom: 5px solid #FFCE00;
}
header h1 {
  color: #EEE;
  font-size: 28px;
}
header .total-income {
  font-family: 'Fira Code', 'Fira Sans', sans-serif;
  background-color: #FFCE00;
  color: #FFF;
  font-size: 20px;
  font-weight: 900;
  padding: 5px 10px;
  min-width: 100px;
  text-align: center;
  border-radius: 8px;
  box-shadow: inset 0px 0px 6px rgba(0, 0, 0, 0.25);
  text-shadow: 0px 3px 3px rgba(0, 0, 0, 0.25);
}
</style>
dy2hfwbg

dy2hfwbg1#

Header组件在App.vue中注册不正确。我相信您尝试从setup()注册本地组件,但目前不支持。
使用components选项在App.vue中本地注册Header

import Header from './components/Header.vue';

export default {
  components: {
    Header
  },

  setup() {
    // DON'T DO THIS
    //return {
    //  Header
    //}
  }
}

demo

lawou6xi

lawou6xi2#

您需要在App.vue中包含头组件,请尝试以下操作

<template>
  <Header />
</template>

<script>
import Header from './components/Header.vue';

export default {
    components: {
            Header,
    },

}
</script>

<style>
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'Fira Sans', sans-serif;
}
body {
  background: #EEE;
}
</style>
bakd9h0s

bakd9h0s3#

您需要将子元素 Package 在Header组件的单个父元素内。

<template>
  <div>
      <h1>Income Tracker</h1>
      <div class="total-income">¥0</div>
   </div>
</template>

相关问题