“ ion-tab”不是已知元素

时间:2019-06-14 23:25:19

标签: angular ionic-framework ionic4

尝试使用ion-tabs和ion-tab,我无法弄清丢失的内容
我肯定会缺少明显的东西:

'ion-tab' is not a known element

我的page.html是:

<ion-tabs>
    <ion-tab tab="makuuchi">
        <ion-header translucent>
            <ion-toolbar>
                <ion-title>Makuuchi</ion-title>
            </ion-toolbar>
        </ion-header>
        <ion-content fullscreen class="ion-padding">
            <h1>Makuuchi</h1>
        </ion-content>
    </ion-tab>
    <ion-tab-bar slot="top">
        <ion-tab-button tab="makuuchi">
            <ion-label>Makuuchi</ion-label>
            <ion-icon name="people"></ion-icon>
        </ion-tab-button>
        <ion-tab-button tab="juryo">
            <ion-label>Juryo</ion-label>
            <ion-icon name="people"></ion-icon>
        </ion-tab-button>
    </ion-tab-bar>
</ion-tabs>

ion-tab-bar和ion-tabs很好。 删除ion-tab后,页面正确显示了

我的package.json的依赖项

"dependencies": {
    "@angular/common": "^7.2.2",
    "@angular/core": "^7.2.2",
    "@angular/forms": "^7.2.2",
    "@angular/http": "^7.2.2",
    "@angular/platform-browser": "^7.2.2",
    "@angular/platform-browser-dynamic": "^7.2.2",
    "@angular/router": "^7.2.2",
    "@ionic-native/core": "^5.0.0",
    "@ionic-native/splash-screen": "^5.0.0",
    "@ionic-native/status-bar": "^5.0.0",
    "@ionic/angular": "^4.1.0",
    "core-js": "^2.5.4",
    "rxjs": "~6.5.1",
    "tslib": "^1.9.0",
    "zone.js": "~0.8.29"
  },

项目是使用离子cli生成的

Ionic:
   Ionic CLI                     : 5.0.2 (/home/christophe/.nvm/versions/node/v8.10.0/lib/node_modules/ionic)
   Ionic Framework               : @ionic/angular 4.5.0
   @angular-devkit/build-angular : 0.13.9
   @angular-devkit/schematics    : 7.3.9
   @angular/cli                  : 7.3.9
   @ionic/angular-toolkit        : 1.5.1
Utility:
   cordova-res : not installed
   native-run  : not installed
System:
   NodeJS : v8.10.0 (/home/christophe/.nvm/versions/node/v8.10.0/bin/node)
   npm    : 6.9.0
   OS     : Linux 4.18

我的模块。ts

@NgModule({
  imports: [
    CommonModule,
    FormsModule,
    IonicModule,
    RouterModule.forChild(routes)
  ],
  declarations: [RikishisPage]
})
export class RikishisPageModule {}
在此处找到

ion-tabs:node_modules/@ionic/angular/dist/directives/navigation/ion-tabs.d.ts
ion-tab不存在
我目前正在寻找一种强制加载离子标签的解决方案

感谢您的帮助

3 个答案:

答案 0 :(得分:2)

尝试用 ion-tab-bar 替换 ion-tab ,因此您的代码如下。

来源here

    <ion-tabs>
        <ion-tab-bar tab="makuuchi">
            <ion-header translucent>
                <ion-toolbar>
                    <ion-title>Makuuchi</ion-title>
                </ion-toolbar>
            </ion-header>
            <ion-content fullscreen class="ion-padding">
                <h1>Makuuchi</h1>
            </ion-content>
        </ion-tab-bar>
        <ion-tab-bar slot="top">
            <ion-tab-button tab="makuuchi">
                <ion-label>Makuuchi</ion-label>
                <ion-icon name="people"></ion-icon>
            </ion-tab-button>
            <ion-tab-button tab="juryo">
                <ion-label>Juryo</ion-label>
                <ion-icon name="people"></ion-icon>
            </ion-tab-button>
        </ion-tab-bar>
    </ion-tabs>

在本地测试,正在显示视图,您应保持正确的路由。

答案 1 :(得分:1)

根据我对您问题的理解,我坚信您在模块内缺少 ionic module 。所以我建议您添加它们。

@NgModule({
  declarations: [
//add component declaration
],
  imports: [
    IonicModule //add ionic module here
  ]
})

答案 2 :(得分:1)

我回答了我自己的问题:Typescript中不存在ion-tab。
标签ui组件上的示例代码仅在javascript中时才使用ion-tab!