Ionic 4 ionic-angular <ion-button> 不是已知元素

Ionic 4 ionic-angular <ion-button> is not a known element

我正在尝试 ionic 4。我创建了一个新项目:

ionic start newApp blank --type=ionic-angular

我习惯了ionic-angular

在 package.json 我有以下内容:

{
  "name": "courier-app",
  "version": "0.0.1",
  "author": "Ionic Framework",
  "homepage": "http://ionicframework.com/",
  "private": true,
  "scripts": {
    "start": "ionic-app-scripts serve",
    "clean": "ionic-app-scripts clean",
    "build": "ionic-app-scripts build",
    "lint": "ionic-app-scripts lint"
  },
  "dependencies": {
    "@angular/animations": "5.2.11",
    "@angular/common": "5.2.11",
    "@angular/compiler": "5.2.11",
    "@angular/compiler-cli": "5.2.11",
    "@angular/core": "5.2.11",
    "@angular/forms": "5.2.11",
    "@angular/http": "5.2.11",
    "@angular/platform-browser": "5.2.11",
    "@angular/platform-browser-dynamic": "5.2.11",
    "@ionic-native/core": "~4.18.0",
    "@ionic-native/splash-screen": "~4.18.0",
    "@ionic-native/status-bar": "~4.18.0",
    "@ionic/storage": "2.2.0",
    "ionic-angular": "^3.9.3",
    "ionicons": "3.0.0",
    "rxjs": "5.5.11",
    "sw-toolbox": "3.6.0",
    "zone.js": "0.8.29"
  },
  "devDependencies": {
    "@ionic/app-scripts": "3.2.1",
    "typescript": "~2.6.2"
  },
  "description": "An Ionic project"
}

你可以清楚地看到ionic-angular的版本是最新的3.9:

"ionic-angular": "^3.9.3"

IonicModule导入到app.module.ts,不过我设置LoginPage作为根页面首先加载:

@NgModule({
  declarations: [
    MyApp,
    HomePage,
    LoginPage
  ],
  imports: [
    BrowserModule,
    IonicModule.forRoot(MyApp)
  ],
  bootstrap: [IonicApp],
  entryComponents: [
    MyApp,
    HomePage,
    LoginPage
  ],
  providers: [
    StatusBar,
    SplashScreen,
    {provide: ErrorHandler, useClass: IonicErrorHandler}
  ]
})
export class AppModule {}

在app.component.ts中:

rootPage:any = LoginPage;

当我在登录页面添加登录按钮时:

<ion-button (click)="login()">Login</ion-button>

我收到一条错误消息:

<ion-button> is not a known element

使用这个的答案,我把它改成:

<button ion-button ...>Login</button>

但据我所知,ionic 4 中组件的行为(无论类型是什么)是使用 <ion-button> 而不是 <button ion-button>

是否缺少任何导入,或者这只是 ionic 4 type ionic-angular 的新行为?

要开始 Ionic 4 项目,您必须

append --type=angular

给你的start command!

ionic start project1 blank --type=angular

否则,CLI 将生成 Ionic 3 项目,因此这些示例将失败。