我正在开发供公司内部使用的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数组中注册了该服务。