【发布时间】:2016-06-16 16:06:56
【问题描述】:
我不明白为什么我需要在父组件中设置提供程序,如果我稍后将它作为服务导入子组件中。
这是服务:
import { Injectable } from '@angular/core';
@Injectable()
export class AService {
doSomething(){
return 'i am a service';
}
}
这是父母:
import { Component } from '@angular/core';
import { AService } from './a-service';
import { ChildComponent } from './child.component';
@Component({
selector: 'my-parent',
directives: [ChildComponent],
providers:[AService],
template:'<my-child></my-child>'
})
export class ParentComponent{ }
angular2 文档说:link here
仔细查看@Component 元数据的提供者部分。现在可以在此 HeroesComponent 及其所有子组件中注入一个 HeroService 实例。
但是,在子组件的定义中,无论如何我都需要导入服务。如果我不这样做,它会崩溃:
import { Component } from '@angular/core';
import { AService } from './a-service';
@Component({
selector: 'my-child',
template:'<p> this is the {{service_returned_data}}'
})
export class ChildComponent{
constructor(private _service: AService){}
service_returned_data=_service.doSomething();
}
谁能解释一下这是什么意思?
【问题讨论】:
标签: angular