在模块 ts 中输入提供程序时出错



当我尝试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';

最新更新