Предоставить объект для службы
Я пытаюсь использовать службу, реализованную другим человеком ( github).
Этот сервис требует, чтобы ему была передана конфигурация. Согласно репо:
You have to configure Neo4jSettings in your bootstrap:
provide('Neo4jSettings', {useValue: {
endpoint: 'http://localhost:7474',
username: 'neo4j',
password: 'neo4j42'
}})
Откровенно говоря, я не знаю, что делать с этой информацией, поскольку мне никогда не приходилось вставлять настройки в службу в нескольких учебных пособиях, которым я следовал. Google не сильно мне помог.
То, что я сделал до сих пор, добавил службу в мой модуль home.module.ts
:
@NgModule({
imports: [CommonModule],
declarations: [HomeComponent],
exports: [HomeComponent],
providers: [Neo4jService] // Here it is
})
export class HomeModule {}
И мой компонент, home.component.ts
:
@Component({
moduleId: module.id,
selector: 'vs-home',
providers: [Neo4jService], // here
templateUrl: 'home.component.html'
})
export class HomeComponent implements OnInit {
constructor(private Neo4jService: Neo4jService) {} // and here
}
Как и ожидалось, когда я запускаю свое приложение, я получаю эту ошибку:
No provider for Neo4jSettings!
У меня вопрос, как мне предоставить объект для службы? В этом случае Neo4jSettings
,
1 ответ
Вам нужно добавить Neo4jSettings
вашим поставщикам модулей, так что это должно выглядеть так:
@NgModule({
imports: [CommonModule],
declarations: [HomeComponent],
exports: [HomeComponent],
providers: [
Neo4jService,
{
provide: 'Neo4jSettings', useValue: {
endpoint: 'http://localhost:7474',
username: 'neo4j',
password: 'neo4j42'
}
}
]
})
export class HomeModule {}