0

別の人 ( 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.

4

1 に答える 1

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 {}
于 2016-09-14T11:08:46.937 に答える