【发布时间】:2016-03-04 10:29:42
【问题描述】:
子服务如何将更改通知父组件?我曾经在 Angular 1 中通过 $watching 子服务中的变量来执行此操作。不幸的是,这已经不可能了。
我尝试将服务注入回组件,但失败了,可能是由于循环依赖。根据我在当前文档中可以找到的内容,我想出了以下代码:
AppComponent
|
SomeComponent
|
SomeService
应用组件
@Component({
selector: '[app-component]',
templateUrl: 'partials/app.html',
directives: [
SomeComponent
],
providers: [
SomeService
]
})
export class AppComponent {
constructor() { }
}
bootstrap(AppComponent);
一些组件
import {Component, Input} from 'angular2/core'
import {SomeService} from '../services/some.service'
@Component({
selector: 'foo',
templateUrl: 'partials/foo.html'
})
export class SomeComponent {
constructor() {}
@Input set someEvent(value) {
console.log(value);
}
}
SomeService
import {EventEmitter, Output} from 'angular2/core'
export class CoreService {
constructor() {
this.someEvent = new EventEmitter();
}
@Output() someEvent: EventEmitter<any>;
public foo() {
this.someEvent.emit(true); // Or next(true)?
}
}
【问题讨论】:
标签: javascript angularjs events angular