我无法找出为什么我从Vue收到此警告,并且后退按钮不起作用:
runtime-core.esm-bundler.js?5c40:38 [Vue warn]: Failed to resolve component: ion-back-button
at <TheHeader titulo="Home" >
at <IonPage isInOutlet=true registerIonPage=fn<registerIonPage> >
at <Home ref=Ref< undefined > key="/home" isInOutlet=true ... >
at <IonRouterOutlet>
at <IonApp>
at <App>
这是一个从头开始的简单应用程序,一些页面共享一个页眉,我正试图外包一个新的组件,称为TheHeader。
这是我的一个页面,Home.vue:
<template>
<ion-page>
<the-header titulo="Home"></the-header>
<ion-content>
</ion-content>
</ion-page>
</template>
<script>
import { IonContent, IonPage } from '@ionic/vue';
import TheHeader from '../components/TheHeader.vue';
export default {
name: 'Home',
components: {
IonContent,
IonPage,
'the-header': TheHeader
}
};
</script>
这是我的TheHeader.vue组件:
<template>
<ion-header>
<ion-toolbar>
<ion-buttons name="start">
<ion-back-button>
</ion-back-button>
</ion-buttons>
<ion-title>
{{ titulo }}
</ion-title>
</ion-toolbar>
</ion-header>
</template>
<script>
import { IonHeader, IonToolbar, IonTitle, IonButtons, IonBackButton } from '@ionic/vue'
export default {
props: [
'titulo'
],
components: [
IonHeader, IonToolbar, IonTitle, IonButtons, IonBackButton
]
}
</script>
如果我从主页导航到另一个页面,这基本上是类似的(我在ion-content中使用了一个非常基本的导航菜单),或者即使我重新加载了这个页面,所以根本没有导航,我也会得到上面的警告,如果我导航到另一个页面,然后我点击后退按钮,上一个页面不会加载。
我做错了什么?
1条答案
按热度按时间tv6aics11#
组件的文档指定类型仅为
Object
。并且此demo显示数组不能用于components
。解决方法是在
TheHeader.vue
中将components
更改为Object
: