【问题标题】:How does angular provide the arguments mentioned in the component class constructor?angular如何提供组件类构造函数中提到的参数?
【发布时间】:2017-07-06 08:06:26
【问题描述】:

我正在尝试深入了解 Angular,因此我阅读了 the docs,它非常有帮助。
现在在依赖注入章节中我读到了

angular使用注入器冒泡技术来提供构造函数中提到的服务

现在注入器冒泡一个一个地去父组件检查是否有可用的服务实例以便提供它。

我有两个问题:

Q1) 构造函数中的参数总是服务吗?

Q2) 如果除了构造函数中提到的服务之外,它们是否也使用冒泡技术?

【问题讨论】:

  • 我正在尝试深入了解 Angular - 你会发现 my articles 非常有见地
  • 令人印象深刻的主题,非常感谢,我将其注册为重要参考:)
  • 我经常写,你可能想在媒体上关注我)

标签: angular service


【解决方案1】:

Q1) 构造函数中的参数总是服务吗?

如果您谈论的是通过注入器实例化的类(例如组件),那么是的,Angular 期望构造函数的所有参数都是可注入的。

Q2) 如果在服务中没有提及 构造函数他们也使用冒泡技术吗?

如果构造函数中没有在任何注入器上定义的其他内容,您将收到错误:

Cannot resolve all parameters to...

【讨论】:

    【解决方案2】:

    构造函数中的参数总是服务吗?

    不,任何可配置的值/变量(数组、对象、字符串、动态运行时字符串等)

    如果在构造函数中没有提到服务,请执行 他们也使用冒泡技术?

    是的,直到依赖解析器命中当前级别注入器中的值

    【讨论】:

    • 不,任何可配置的值/变量 - 这是误导,它仍然应该向注入器注册,所以它是一个服务
    • 是的,直到依赖解析器命中 t - 正如我在回答中所说的那样,您将遇到错误
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-27
    • 1970-01-01
    • 2011-06-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多