Я хочу изменить все мои EventEmitter на темы, так как это рекомендуемый способ обмена переменными и состояниями вместо того, чтобы излучать событие.Тип 'Observable <any>' не может быть присвоен типу 'JSON' в angular2 с rxjs5
Но теперь у меня есть проблема, и я просто не понимаю, как ее решить. Вот пример кода:
@Injectable()
export class TicketsService implements OnInit {
private _url = "http://127.0.0.1:3000/api/getAllTickets";
private _refreshTickets:Subject<JSON> = new Subject<JSON>();
public allTickets:JSON;
private _url_postNewTicket = "http://127.0.0.1:3000/api/postNewTicket";
constructor(private _http:AuthHttp) {
this.allTickets = this._refreshTickets
.mergeMap(() => this._http.get(this._url))
.map((res:Response) => res.json())
.cache();
}
refreshAllTickets() {
console.log("refresh all tickets..");
this._refreshTickets.next(null);
}
}
Компилятор дает мне следующую ошибку:
public/angular/app/tickets.service.ts(26,9): error TS2322: Type 'Observable' is not assignable to type 'JSON'. [1] Property 'parse' is missing in type 'Observable'.
Я предполагаю, что я мог бы написать allTickets:JSON
, как allTickets:any
но в компоненте я использую ngFor итерировать - так что я получить ошибку от ngFor, для которой нужен массив.
Заранее благодарен!
да, он действительно работал. такая очевидная ошибка ... спасибо =) – malachi54