【发布时间】:2017-05-08 21:44:23
【问题描述】:
我创建了自己的 Observable 服务
import { Injectable, EventEmitter, Output} from '@angular/core';
@Injectable()
export class ObservableService {
data = [];
@Output eventEmitter:EventEmitter = new EventEmitter();
setSharedData(key, value) {
this.data[key] = value;
this.eventEmitter.emit(this.data);
}
getSharedData() {
return this.data;
}
}
这是一个使用示例
ngOnInit() {
this._observable.eventEmitter.subscribe((data) => {
console.log(data);
})
}
所以目前在编译时说
app/services/data-observable.service.ts(6,5): error TS1240: Unable to resolve signature of property decorator when called as an expression.
Supplied parameters do not match any signature of call target.
指的是这个特定的字符串,
@Output eventEmitter:EventEmitter = new EventEmitter();
但是服务很完美,有什么建议吗?
【问题讨论】:
-
根据angular.io/docs/ts/latest/api/core/index/…应该是
@Output() eventEmitter: EventEmitter<any> = new EventEmitter()
标签: angular typescript compiler-errors observable