将服务层导入子组件问题

时间:2019-01-30 12:29:09

标签: angular

我已经编写了一个服务层,该服务层调用rest api向我返回一些数据。 如果我在app.component.ts中导入该服务,似乎工作正常,但是我创建了子组件,即user-credentials.component.ts,并且如果我导入该服务层,则会收到错误消息:-

D:/ Projects / Angular 2 / AuditUserAccess / src / app / user-credentials / user-credentials.component.ts(2,31)中的错误:找不到模块'./user-services/user -data.service”。

这是我在父级和子级组件中导入服务层文件的方式:-

 import {UserDataService} from './user-services/user-data.service';

这是我的项目结构:-

  1. ./ app / app.component
  2. ./ app / user-credentials / user-credentials.component
  3. ./ app / user-services / user-data.service,即UserDataService

以下是我的UserDataService服务组件

  import { Injectable } from '@angular/core';
  import { Headers, Http, RequestOptions,Response  } from 
  '@angular/http';
  import {Observable} from 'rxjs/Observable';
  import 'rxjs/add/operator/toPromise';
  import 'rxjs/add/operator/map'

  import 'rxjs/add/operator/catch';



  @Injectable()
  export class UserDataService {

  constructor(private http: Http) {}
  private applicationName = '/getAllApplications';

  getApplicationNames() : Observable<any> {

     // ...using get request
     return this.http.get(this.applicationName)
                     .map((res:Response) => res.json())
                     .catch((error:any) => 
     Observable.throw(error.json().error || 'Server error'));

 }


}

想知道如何为服务层提供正确的路径,或者在需要时如何更改项目结构,以便我可以使用它。

1 个答案:

答案 0 :(得分:1)

将其添加到导出中应用模块的提供者部分。