pet*_*erc 3 ionic2 ionic3 angular
我有一个Ionic/Angular应用程序,我刚刚更新到Ionic 3/Angular 4.我有几个我用于页面的基类...
@Injectable()
export abstract class BasePage {
constructor(
userMessageService: UserMessageService,
logger: Logger,
translate: TranslateService,
derivedClassName: string,
) {
super(userMessageService, logger, translate, derivedClassName);
this.data = new Array<T>();
}
Run Code Online (Sandbox Code Playgroud)
升级后,我现在收到以下警告..
Warning: Can't resolve all parameters for PageBase in D:/dev/myapp/src/pages/page-base.ts: ([object Object], [object Object], [object Object], ?). This will become an error in Angular v5.x
Warning: Can't resolve all parameters for CardPageBase in D:/dev/myapp/src/pages/card-page-base.ts: ([object Object], [object Object], [object Object], ?). This will become an error in Angular v5.x
所以它似乎不喜欢这个string论点.所有我使用它是为了一些日志记录,我只是传递它在我实例化从这一个派生的类..
例如 super(userMessageService, logger, translate, 'MyPage');
有谁知道为什么这看起来不可能,而且我现在如何传递这样的参数(希望无需单独的init方法设置)
在此先感谢您的帮助!
发现我的问题.我认为你需要@Injectable()基础页面类,例如..
@Injectable()
export abstract class BasePage {
constructor(protected name : string, messageProvider : MyServiceProvider) {
console.log("Baseclass calls " + messageProvider.getMessage());
}
}
Run Code Online (Sandbox Code Playgroud)
当我删除它时,它仍然工作正常,错误消失了.我应该在原始问题中包含类def(我现在将添加)
| 归档时间: |
|
| 查看次数: |
869 次 |
| 最近记录: |