当我尝试import
nativepagetransition
提供程序时,它显示错误。
import { BrowserModule } from '@angular/platform-browser';
import { ErrorHandler, NgModule } from '@angular/core';
import { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular';
import { SplashScreen } from '@ionic-native/splash-screen';
import { StatusBar } from '@ionic-native/status-bar';
import { LinkPage } from '../pages/link/link';
import { NativePageTransitions } from '@ionic-native/native-page-transitions';
import { MyApp } from './app.component';
import { HomePage } from '../pages/home/home';
@NgModule({
declarations: [
MyApp,
HomePage,
LinkPage,
],
imports: [
BrowserModule,
IonicModule.forRoot(MyApp)
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
HomePage,
LinkPage
],
providers: [
StatusBar,
SplashScreen,
NativePageTransitions,
{provide: ErrorHandler, useClass: IonicErrorHandler}
]
})
export class AppModule {}
错误是,
Type ‘NativePageTransitionsOriginal’ is not assignable to type ‘Provider’.
Type ‘NativePageTransitionsOriginal’ is missing the following properties from type ‘FactoryProvider’: provide, useFactory [2322]]
ionic 4+ 中的所有本机模块和服务都已移至模块的 ngx 目录。喜欢
在离子 3 中:
We were importing NativePageTransitions from @ionic-native/native-page-transitions
import { NativePageTransitions } from '@ionic-native/native-page-transitions';
现在在离子 4+ 中:
We have to import native modules from @ionic-native/module-name/ngx directory.
import { NativePageTransitions } from '@ionic-native/native-page-transitions/ngx';
如果您为项目类型安装了错误的本机插件版本,则会出现错误。
在ionic.config.json中检查项目类型
如果类型为"离子角",则安装 4.x.x 版本。
例
npm i -s @ionic-native/native-page-transitions@4.20.0
如果类型为"棱角",则安装 5.x.x-beta 版本
npm i -s @ionic-native/native-page-transitions@5.0.0-beta.24
注意:
仅在使用 Angular 6 时在导入结束时添加 ngx
import { NativePageTransitions } from '@ionic-native/native-page-transitions/ngx';
如果没有,请从 app.module.ts 和 app.component.ts 中的导入中删除 ngx
import { NativePageTransitions } from '@ionic-native/native-page-transitions';
参考资料:https://github.com/ionic-team/ionic/issues/15225#issuecomment-414074074
您安装了最新的@ionic-native/native-page-transitions
(v5+)。
然后你应该从@ionic-native/native-page-transitions/ngx
导入NativePageTransitions
import { NativePageTransitions } from '@ionic-native/native-page-transitions/ngx';