在angular2 rc5版本中,在ngModule提供程序(根级别)中注入一个服务并尝试在组件中使用它,但是遇到了无法找到" servicename"的问题。 这是我的代码,
根文件:
import { BrowserModule } from '@angular/platform-browser';
import { NgModule, ApplicationRef } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { AppComponent } from './app.component';
import { OtherService } from './other.service';
@NgModule({
declarations: [ AppComponent ],
imports: [ BrowserModule, CommonModule, FormsModule ],
providers: [OtherService],
entryComponents: [AppComponent],
bootstrap: [AppComponent]
})
export class AppModule {}
服务:
import { Injectable } from '@angular/core';
@Injectable()
export class OtherService {
getUsername(){
return 'from other service';
}
}
组件:
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: 'app.component.html',
styles: [':host(.selected) {display:block;background:#ccc;}']
})
export class AppComponent {
title = 'app works!!';
constructor(private otherSer: OtherService){};
}
我遇到了问题,因为"找不到姓名'其他服务'在组件' app.component'"。
如果我做错了,请纠正我。
谢谢!
答案 0 :(得分:5)
您还需要在OtherService
中导入app.component
,因为您要将其添加到构造函数中,并且无需导入就无法解析其名称。