我有一个类,它使用DialogService
来自“aurelia-dialog”的实例来打开我的 Aurelia 应用程序中的几乎每个对话框。以一种非常抽象的方式,该类看起来像这样:
export class DialogTrigger{
triggerDialogA() {...}
triggerDialogB() {...}
triggerDialogC() {...}
}
一切正常,直到我尝试注入DialogTrigger
其中一个对话框。
因此,假设我要创建一个新对话框 DialogD。我只是添加了另一种方法triggerDialogD()
,DialogTrigger
该方法会打开一个带有DialodD
视图模型的新对话框,一切正常。但是,如果我希望我的新对话框也可以通过使用所有内容的实例来触发其他对话框之一(A、B 或 C)DialogTrigger
。
如果我注入DialogTrigger
我DialogD
总是会得到一个错误:
键/值不能为空或未定义。您是否尝试注入/注册 DI 不存在的东西?
如果我删除依赖项,对话框将起作用。
TL; DR
我有一个DialogTrigger
打开aurelia-dialog
s 的课程。DialogTrigger
当我注入由它实例化的任何对话框时,DI 失败。
有任何想法吗?