【发布时间】:2017-09-01 15:04:09
【问题描述】:
我正在尝试创建一个模拟服务,如下所示。 我的服务就像
import { Injectable } from '@angular/core';
import { URLSearchParams } from '@angular/http';
import { Observable } from 'rxjs/Observable';
import { Config } from '../../shared/config/env.config';
import { HttpBaseService } from '../../shared/http-base/http-base.service';
import { ResponseModel } from '../../shared/models/index';
import { InventoryIntake } from './inventoryintake';
@Injectable()
export class InventoryIntakeService {
list:InventoryIntake[];
constructor(private http: HttpBaseService) { }
get(): Observable<ResponseModel<InventoryIntake[]>> {
this.list=[{
supplier_name:"atami",
metric_reference:"55665589",
date_received:new Date("10-5-2017"),
date_transferred:new Date("15-5-2017")
},
{
supplier_name:"green bits",
metric_reference:"4555589",
date_received:new Date("10-5-2017"),
date_transferred:new Date("15-5-2017")
}]
let response = new ResponseModel<InventoryIntake[]>();
response.data = this.list;
console.log("called")
return Observable.create(response);
}
}
从我调用的组件开始
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { URLSearchParams } from '@angular/http';
import { HttpBaseService } from '../../shared/http-base/http-base.service';
import {InventoryIntakeService} from './inventoryintake.service';
import {InventoryIntake} from './inventoryintake'
@Component({
moduleId: module.id,
selector: 'inventory-report',
templateUrl: './inventoryintake.component.html',
providers: [ HttpBaseService,InventoryIntakeService]
})
export class InventoryIntakeComponent implements OnInit {
inventoryintake_list: InventoryIntake[] = [];
constructor(
private route: ActivatedRoute, private router: Router,private InventoryIntakeService:InventoryIntakeService) {
}
getIntakeList(): void {
this.InventoryIntakeService.get()
.subscribe((inventoryintake_list) => {
this.inventoryintake_list = inventoryintake_list.data;
console.log(this.inventoryintake_list);
})
}
ngOnInit(): void {
this.getIntakeList();
}
}
}
当我这样做时。我收到错误说 .subscribe 不是函数。 我该如何解决这个问题?
如何创建一个返回类型可观察的模拟服务? 问题出在可观察的创建方法上吗?
【问题讨论】:
-
代码
this.InventoryIntakeService.get()甚至不应该编译。请向我们展示更多组件的代码,包括构造函数。 -
代码已更新...
标签: angular observable