在模块 ts 中输入提供程序时出错
Error while entering provider in module 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-native/native-page-transitions
(v5+)。
那么你应该从 @ionic-native/native-page-transitions/ngx
导入 NativePageTransitions
import { NativePageTransitions } from '@ionic-native/native-page-transitions/ngx';
如果您为您的项目类型安装了错误的本机插件版本,则会出现此错误。
检查ionic.config.json中的项目类型
如果类型是"ionic-angular",则安装4.x.x版本。
例子
npm i -s @ionic-native/native-page-transitions@4.20.0
如果类型是"angular",则安装5.x.x-测试版
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 4+中的所有本地模块和服务已移至ngx模块的目录。
喜欢
在离子 3:
We were importing NativePageTransitions from @ionic-native/native-page-transitions
import { NativePageTransitions } from '@ionic-native/native-page-transitions';
现在在 ionic 4+ 中:
We have to import native modules from @ionic-native/module-name/ngx directory.
import { NativePageTransitions } from '@ionic-native/native-page-transitions/ngx';
当我尝试在提供商中 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-native/native-page-transitions
(v5+)。
那么你应该从 @ionic-native/native-page-transitions/ngx
NativePageTransitions
import { NativePageTransitions } from '@ionic-native/native-page-transitions/ngx';
如果您为您的项目类型安装了错误的本机插件版本,则会出现此错误。
检查ionic.config.json中的项目类型
如果类型是"ionic-angular",则安装4.x.x版本。
例子
npm i -s @ionic-native/native-page-transitions@4.20.0
如果类型是"angular",则安装5.x.x-测试版
npm i -s @ionic-native/native-page-transitions@5.0.0-beta.24
注:
仅当您使用 Angular 6
时才在导入末尾添加 ngximport { NativePageTransitions } from '@ionic-native/native-page-transitions/ngx';
如果不在 app.module.ts 和 app.component.ts
中从导入中删除 ngximport { NativePageTransitions } from '@ionic-native/native-page-transitions';
引用:https://github.com/ionic-team/ionic/issues/15225#issuecomment-414074074
ionic 4+中的所有本地模块和服务已移至ngx模块的目录。 喜欢
在离子 3:
We were importing NativePageTransitions from @ionic-native/native-page-transitions
import { NativePageTransitions } from '@ionic-native/native-page-transitions';
现在在 ionic 4+ 中:
We have to import native modules from @ionic-native/module-name/ngx directory.
import { NativePageTransitions } from '@ionic-native/native-page-transitions/ngx';