我尝试从Visual Studio中的Angular2组件服务调用Web API,但我不断收到类似"(SystemJS)的错误无法解析周年纪念服务的所有参数:(?)& #34;
如果我删除组件服务,我的示例应用程序工作正常。
ComponentService:
import { Injectable } from '@angular/core';
import {Http, Response } from '@angular/http';
import { IData } from '../Common/details';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/map';
export class AniversaryService {
constructor(private _http:Http) { }
getImages(): Observable<IData[]> {
return this._http.get("/api/ImageService/Details")
.map((response: Response) => <IData[]>response.json()
};
}
和我的对应组件:
import { Component, OnInit } from '@angular/core';
import { DomSanitizer } from '@angular/platform-browser';
import { IData } from '../Common/details';
import { AniversaryService } from './Aniversary.service';
@Component({
selector: 'my-AniversaryComponent',
providers: [AniversaryService]
})
export class AniversaryComponent implements OnInit {
data: IData[];
constructor(private _aniversaryservice: AniversaryService) { }
ngOnInit() {
this._aniversaryservice.getImages().subscribe((details) => this.data
=details);
}
}
}
我从堆栈溢出尝试了不同的解决方案,但对我没什么用。
请帮我解决这个问题。
先谢谢你的帮助
答案 0 :(得分:0)
该服务似乎缺少@Injectable装饰器。