我看过 Angular 1 的教程,但他们使用了旧的角度方法,例如factory or controller.
如果可能的话,我希望有一种使用 TypeScript 来实现这一点的新方法。
有任何想法吗 ?
您需要的是全方位的服务Http并提供反序列化:
@Injectable()
export class SOAPService{
constructor(private http:Http){}
public get(url:string, options?:RequestOptionsArgs):Observable<any>{
return this.http.get(url, options).map(res => {
let xmlresult = res.text();
let result = //Here you deserialize your xml object
return result;
}
}
}
然后你可以这样使用它:
@Component({...})
export class ExampleComponent{
constructor(private soap:SOAPService){}
foo():{
this.soap.get('foo/bar').subscribe(...);
}
}
由于我不是 xml 解析专家,因此我无法告诉您如何反序列化 XML,但您可以检查MDN为此,您只需将序列化/反序列化过程包装在另一个服务中并将其注入您的SOAPService.