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!

我的问题是,如何为服务提供对象?在这种情况下,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 回答