Angular - 无法解析组件 ng build --prod 的所有参数
Angular - Can't resolve ALL Parameters for component ng build --prod
我正在尝试构建我的 angular 应用程序,但由于这个错误而失败了
ERROR in : Can't resolve all parameters for SimpleLookupAddEditFormComponent
in C:/Users/lastr/Source/Repos/SMATA/Code/ng/smata-ng/src/app/system-
list/simple-lookup-add-edit/simple-lookup-add-edit.component.ts: (?, [object
Object], [object Object], [object Object]).
这里是组件的代码。这是一个基础组件。这里有什么遗漏吗?也许构造函数属性有问题?
import { Component, OnInit } from '@angular/core';
import { SimpleLookupBaseService } from '../services/simple-lookup-base/simple-lookup-base.service';
import { ActivatedRoute, Router } from '@angular/router';
import validationEngine from "devextreme/ui/validation_engine";
import notify from 'devextreme/ui/notify';
@Component({
selector: 'app-simple-lookup-add-edit',
templateUrl: './simple-lookup-add-edit.component.html',
styleUrls: ['./simple-lookup-add-edit.component.css']
})
export class SimpleLookupAddEditFormComponent implements OnInit {
newSystemList: {};
isEditMode:boolean = true;
selectedSystemList: any;
title: string;
saveButtonText: string;
isPopupVisible:boolean = false;
entityId:any;
constructor(
protected _systemListTitle : string,
protected _svc: SimpleLookupBaseService,
protected _router: Router,
protected _route: ActivatedRoute
)
{}
............
.....
}
ERROR in : Can't resolve all parameters for SimpleLookupAddEditFormComponent
in C:/Users/lastr/Source/Repos/SMATA/Code/ng/smata-ng/src/app/system-
list/simple-lookup-add-edit/simple-lookup-add-edit.component.ts: (?, [object
Object], [object Object], [object Object]).
错误消息中的?
问号告诉构造函数中哪个参数未知。
constructor(
protected _systemListTitle : string,
protected _svc: SimpleLookupBaseService,
protected _router: Router,
protected _route: ActivatedRoute
)
第一个参数触发 ?
问号。
string
类型不是可注入类型。 Angular 注入器使用参数的类型来推断应该使用的 injectable
提供程序。
要注入 string
参数,您必须在您的 NgModule
定义之一中提供一个标记。
export const LIST_TITLE: InjectionToken<string> = new InjectionToken<string>('LIST_TITLE');
@NgModule({
providers: [{provide: LIST_TITLE, useValue: 'My List Title'}]
})
现在您可以手动将令牌注入构造函数。
constructor(
@Inject(LIST_TITLE) protected _systemListTitle : string,
protected _svc: SimpleLookupBaseService,
protected _router: Router,
protected _route: ActivatedRoute
)
我正在尝试构建我的 angular 应用程序,但由于这个错误而失败了
ERROR in : Can't resolve all parameters for SimpleLookupAddEditFormComponent
in C:/Users/lastr/Source/Repos/SMATA/Code/ng/smata-ng/src/app/system-
list/simple-lookup-add-edit/simple-lookup-add-edit.component.ts: (?, [object
Object], [object Object], [object Object]).
这里是组件的代码。这是一个基础组件。这里有什么遗漏吗?也许构造函数属性有问题?
import { Component, OnInit } from '@angular/core';
import { SimpleLookupBaseService } from '../services/simple-lookup-base/simple-lookup-base.service';
import { ActivatedRoute, Router } from '@angular/router';
import validationEngine from "devextreme/ui/validation_engine";
import notify from 'devextreme/ui/notify';
@Component({
selector: 'app-simple-lookup-add-edit',
templateUrl: './simple-lookup-add-edit.component.html',
styleUrls: ['./simple-lookup-add-edit.component.css']
})
export class SimpleLookupAddEditFormComponent implements OnInit {
newSystemList: {};
isEditMode:boolean = true;
selectedSystemList: any;
title: string;
saveButtonText: string;
isPopupVisible:boolean = false;
entityId:any;
constructor(
protected _systemListTitle : string,
protected _svc: SimpleLookupBaseService,
protected _router: Router,
protected _route: ActivatedRoute
)
{}
............
.....
}
ERROR in : Can't resolve all parameters for SimpleLookupAddEditFormComponent in C:/Users/lastr/Source/Repos/SMATA/Code/ng/smata-ng/src/app/system- list/simple-lookup-add-edit/simple-lookup-add-edit.component.ts: (?, [object Object], [object Object], [object Object]).
错误消息中的?
问号告诉构造函数中哪个参数未知。
constructor(
protected _systemListTitle : string,
protected _svc: SimpleLookupBaseService,
protected _router: Router,
protected _route: ActivatedRoute
)
第一个参数触发 ?
问号。
string
类型不是可注入类型。 Angular 注入器使用参数的类型来推断应该使用的 injectable
提供程序。
要注入 string
参数,您必须在您的 NgModule
定义之一中提供一个标记。
export const LIST_TITLE: InjectionToken<string> = new InjectionToken<string>('LIST_TITLE');
@NgModule({
providers: [{provide: LIST_TITLE, useValue: 'My List Title'}]
})
现在您可以手动将令牌注入构造函数。
constructor(
@Inject(LIST_TITLE) protected _systemListTitle : string,
protected _svc: SimpleLookupBaseService,
protected _router: Router,
protected _route: ActivatedRoute
)