当我运行build -prod时,我收到以下警告.
Warning: Can't resolve all parameters for UsersPermissionsService in C:/SourceControl/Test.Client/src/app/shared/users/users-permissions.service.ts: (?, ?, ?). This will become an error in Angular v5.x
Warning: Can't resolve all parameters for UsersPermissionsService in C:/SourceControl/Test.Client/src/app/shared/users/users-permissions.service.ts: (?, ?, ?). This will become an error in Angular v5.x
Run Code Online (Sandbox Code Playgroud)
我的代码如下:
import { Injectable } from '@angular/core';
@Injectable()
export class UsersPermissionsService {
public USERS_CREATE_PERMISSION: string = '';
public USERS_UPDATE_PERMISSION: string = '';
public USERS_DELETE_PERMISSION: string = '';
constructor(public UsersCreatePermission: string,
public UsersUpdatePermission: string,
public UsersDeletePermission: string) {
this.USERS_CREATE_PERMISSION = UsersCreatePermission;
this.USERS_UPDATE_PERMISSION = UsersUpdatePermission;
this.USERS_DELETE_PERMISSION = UsersDeletePermission;
}
}
@Injectable()
export class UserModulePermissionsService extends UserPermissionsService {
constructor() {
super("ClientsCreate",
"ClientsEdit",
"ClientsDelete");
}
}
@Component({
templateUrl: './users-permissions.component.html',
providers: [UsersPermissionsService]
})
export class UsersPermissionsComponent {
constructor(public usersPermissionsService: UsersPermissionsService) {
}
}
Run Code Online (Sandbox Code Playgroud)
在我的懒惰加载模块中,我有:
providers: [
{ provide: UsersPermissionsService, useClass: UserModulePermissionsService }
]
Run Code Online (Sandbox Code Playgroud)
现在,角度5已经出来,我将需要更新,并且消息说这个警告将成为错误.
不明白这里真正的问题是什么.
Avi*_* P. 32
@Injectable
从基类中删除装饰器.您应该只包括类,装饰(或与此有关的任何装饰),该角应直接实例(同时做,使用注射器也解决他们的构造函数的参数).
因为很明显,在你的情况下,基类不是直接用angular实例化的(它具有注入器不知道的构造函数参数),你应该从中删除装饰器.
归档时间: |
|
查看次数: |
6031 次 |
最近记录: |