角度库中服务的属性和方法

时间:2018-09-25 08:30:57

标签: angular typescript

我正在开发供公司内部使用的Angular(6)库。 lib基本上具有组件和一些基本服务。组件按预期工作,但服务未按预期运行,当我导入它们并注入组件以供使用时,我无权访问它们的属性和方法并不断收到此错误:

error TS2339: Property 'exampleServiceMethod' does not exist on type 'SampleService'

服务:

import { Injectable } from '@angular/core';

@Injectable( {
  providedIn: 'root'
})
export class SampleService {
  exampleServiceMethod() {
    return 'Hello World';
  }
 }

使用该服务的消费者应用程序中的组件:

import { Component, OnInit } from '@angular/core';
import {SampleService} from 'testlib';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit {
  title = 'Consumer App';
  comment: string;

  constructor (private _service: SampleService) {}

  ngOnInit(): void {
    console.log(this._service.exampleServiceMethod());
  }
}

编辑:Consumer App的app.module.ts

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';

import { AppComponent } from './app.component';

import { SampleModule, SampleService } from 'testlib';

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    SampleModule // testlib main module
  ],
  providers: [SampleService],
  bootstrap: [AppComponent]
})
export class AppModule { }

PS:我已经在lib本身和使用中的应用程序的两个provider数组中注册了该服务。

0 个答案:

没有答案