无法获取可观察到的变化

时间:2016-07-18 19:11:11

标签: javascript angularjs angularjs-directive angular reactivex

我有一个report.service.ts有一个简单的方法来获取reports(这只是一个来自模拟的报告对象的const数组),而它真正做的就是:

@Injectable()
export class ReportService {
  getReports() {
    var ret = Observable.create(function(observer){ observer.onComplete(REPORTS) });
    return ret;
  }
}

现在在app.component我希望得到这些报告。所以我做了:

@Component({
  selector: 'workPrioritizer-reports',
  styles: [require('./app.css')],
  template: require('./app.component.html'),
})

export class ReportsCmp implements OnInit{
  reports: Report[];
  title = 'Reorder List';

  constructor(private reportService: ReportService) {}

  getReports() {
    var sub = this.reportService.getReports().subscribe(function(x){return x});
    return sub;
  }

  ngOnInit() {
    this.getReports()
  }
}

就是这样,但它不起作用,显然我在这里做错了,对于可观察者来说是新的:/

谢谢!

1 个答案:

答案 0 :(得分:0)

在您的Observable.create中,您需要使用observer.next(REPORTS)

如果您想要调用完整功能,则必须将其更改为observer.complete()