从另一个类中的相同文件注入可注入类

时间:2018-03-08 04:14:11

标签: angular typescript ionic-framework ionic3 angular5

问题

所以我在database.ts中写了一个Database类,我希望有两个注入成员DocumentList,它们都在同一个文件中。由于项目的组织,它们必须保留在同一个文件中。在不知疲倦地尝试之后,我无法创建document的{​​{1}}和list非空成员,或者通过Database的构造函数注入这些类。错误包括DatabaseCan't resolve all parameters for Database等。这是我的尝试。

尝试

Can't get document of undefined

database.ts班级(多次尝试)

Database

@Injectable() export class Database { constructor(@Inject(Document) public document:Document, @Inject(List) public list:List) {} } @Injectable() export class Database { public document:Document; public list:List; } 班级

Document

@Injectable() class Document { constructor(private events:Events, private db: AngularFireDatabase, public auth:Auth, public utility:Utility) {} ... } 班级

List

注释

我想找到一个解决方案,我可以在其中引用数据库类及其子类,如下所示: @Injectable() class List { constructor(private events:Events, private db: AngularFireDatabase, public auth:Auth, public utility:Utility) {} ... } this.database.document.function()

非常感谢你!

1 个答案:

答案 0 :(得分:0)

问题解决了!

根据Daniel W Strimpel的建议,我DocumentList作为导入添加到我的app.module.ts中,如下所示:

import { Database, Document, List } from '../classes/database';

将上述类注册为提供商

我只是确保不会将import DocumentList分别导入到使用这两个类的文件中,而是导入Database以获取这两个类的所有功能。希望这会有所帮助。