gpt4 book ai didi

dependency-injection - DI - 找不到 EventBus 的提供程序

转载 作者:行者123 更新时间:2023-12-03 03:45:46 26 4
gpt4 key购买 nike

使用 Angular Dart,我定义了一个这样的事件总线:

class MyModule extends Module {

MyModule() {
bind(EventBus, toImplementation: EventBus);
...
}
}

当我想将此事件总线注入(inject)组件时,只需执行以下操作:

class MyComponent {

final EventBus _eventBus;

MyComponent(this._eventBus) {}
}

我收到错误消息:

No provider found for EventBus!

我不知道如何调试这个......

事件总线是一个外部库,如下所示:

library event_bus;

import 'dart:async';

@MirrorsUsed(symbols: '*') // Do not keep any names.
import 'dart:mirrors';

class EventBus {

StreamController _streamController;

EventBus({bool sync: false}) {
_streamController = new StreamController.broadcast(sync: sync);
}
...
}

欢迎任何帮助...谢谢!

最佳答案

我有点晚了,但在这种情况下 - 当你不能轻易在类上放置 @Injectable() 注释时 - 最简单的解决方案是给注入(inject)器一个值:

bind(EventBus, toValue: new EventBus());

关于dependency-injection - DI - 找不到 EventBus 的提供程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26557381/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com