【发布时间】:2016-02-18 12:19:54
【问题描述】:
我在理解 Angular2 在依赖注入方面使用的逻辑时遇到了一些麻烦。这是我的情况:
app.component.ts:
import {Component} from 'angular2/core';
import {Demo1Service} from './demo-1.service';
@Component({
selector: 'app',
template: `<div>test template</div>`,
providers: [Demo1Service]
})
class AppComponent {
constructor(private _demo1Service: Demo1Service) {}
}
export {AppComponent};
demo-1.service.ts
import {Injectable} from 'angular2/core';
import {Data1Store} from './data-1.store';
@Injectable()
class Demo1Service {
constructor(private _data1Store: Data1Store) {}
};
export {Demo1Service};
data-1.store.ts
import {Injectable} from 'angular2/core';
@Injectable()
class Data1Store {}
export {Data1Store};
http://plnkr.co/edit/4aBNbAxtHbUvVqxPRUbv?p=preview
如果你运行这个 plunker,你会看到 Angular 需要一个提供者,以便在 AppComponent 中定义 Data1Store。为了有一些关注点分离,我希望 AppComponent 不需要知道 Data1Store 的存在。
我在这里有什么事吗?
【问题讨论】:
标签: service dependency-injection typescript ecmascript-6 angular