当我尝试执行getNamed()时,无法从逆容器获取实例。容器定义良好,打字稿没有抱怨,我可以看到导入的类型是“ Container”;但是,在运行时容器中未定义。
我要绑定UserRepo类,如下所示,并将容器导出为“注册表”
container.bind<Repository>('Repository').to(UserRepo).inSingletonScope().whenTargetNamed('User');
.
.
.
export { container as Registry };
import { Registry } from '../registry';
import { UserRepo } from '../repositories/userRepository';
const userRepo: UserRepo = Registry.getNamed('Repository', 'User'); // throws an error
我得到的错误是
uncaughtException: Cannot read property 'getNamed' of undefined
TypeError: Cannot read property 'getNamed' of undefined
我正在我的应用程序的根目录中为不同的类执行相同的代码,并且可以正常工作。谁能指出我在哪里犯错,那就太好了。