2016-09-14 103 views
0

我試圖使用另一個人的服務實現(github)。向服務提供對象

該服務要求將配置傳遞給它。根據回購:

You have to configure Neo4jSettings in your bootstrap: 

provide('Neo4jSettings', {useValue: { 
    endpoint: 'http://localhost:7474', 
    username: 'neo4j', 
    password: 'neo4j42' 
}}) 

坦率地說,我不知道如何處理這些信息做,因爲我從來沒有注入設置爲服務於一些教程,我緊隨其後。谷歌對我幫助不大。

我迄今所做的是什麼增加了服務,我的模塊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! 

我的問題是,h我是否會向服務提供對象?在這種情況下,Neo4jSettings

回答

0

您需要添加Neo4jSettings到你的模塊供應商,所以它應該是這樣的:

@NgModule({ 
    imports: [CommonModule], 
    declarations: [HomeComponent], 
    exports: [HomeComponent], 
    providers: [ 
     Neo4jService, 
     { 
     provide: 'Neo4jSettings', useValue: { 
      endpoint: 'http://localhost:7474', 
      username: 'neo4j', 
      password: 'neo4j42' 
     } 
    } 
    ] 
}) 

export class HomeModule {}