【问题标题】:can't resolve all parameters angular because of constants provider由于常量提供程序,无法解析所有参数 angular
【发布时间】:2019-05-22 02:06:41
【问题描述】:

我遇到了一个奇怪的问题。我有一个名为 ConstantsProvider 的提供程序。我在几个页面中使用它。 我创建了一个新页面并在导入后添加常量作为依赖项。

import {ConstantsProvider} from '../../../../providers/constants/constants';

并在我的页面中添加为依赖项

constructor(public navCtrl: NavController, public navParams: NavParams, private constants:ConstantsProvider)

我这样做的方式可能是 20 多页。在上述页面中声明时出现错误

compiler.js:486 Uncaught Error: Can't resolve all parameters for ASpaceBookingsPage: ([object Object], [object Object], ?)。

关闭并运行 (ionic serve) 后,重新启动升级 ionic 仍然遇到同样的问题。 我已经在 app.module.ts 中添加了它,并且 ConstantsProvider 也有 @Injectable 装饰器。

如果它有任何类型的语法错误,它不应该在所有页面中工作。如果删除这个新页面中的依赖关系一切正常。 有人可以帮我吗?? 因为这是一个非常大的项目,我可以共享代码或尝试在外面复制。

【问题讨论】:

  • 请分享 app.module , ConstantsProvider 和你正在使用的组件。
  • 找不到您的 ConstantsProvider 导入。检查以确保您已正确导入目录。
  • 验证了导入路径是否正确。正如我所提到的,它创建了另一个正在运行的提供程序。相同的提供程序在其他页面中运行良好。不知道是什么问题

标签: angular typescript dependency-injection ionic3 angular-providers


【解决方案1】:

这个错误的意思是: ConstantsProvider 有一个需要参数的构造函数:([object Object], [object Object], ?)

因此,当您将ConstantsProvider 添加到app.module.ts(或pages.module.ts 或您添加的任何范围)中的providers:[] 时,您需要提供这些构造函数参数。

PS:如果您想要特定的答案/解决方案,请显示您的代码

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-12
    • 1970-01-01
    • 2020-08-31
    • 2018-11-29
    • 2017-10-05
    • 1970-01-01
    • 1970-01-01
    • 2017-03-27
    相关资源
    最近更新 更多