Javascript 角度2-将参数传递到服务
如何将作为url的字符串传递给服务?因为我的“服务”总是一个http get请求,所以尽可能保持它的通用性并让控制器将url传递给它是有意义的,而不是让几十个单独的控制器中有不同的url 到目前为止,我的控制器如下所示:Javascript 角度2-将参数传递到服务,javascript,angular,Javascript,Angular,如何将作为url的字符串传递给服务?因为我的“服务”总是一个http get请求,所以尽可能保持它的通用性并让控制器将url传递给它是有意义的,而不是让几十个单独的控制器中有不同的url 到目前为止,我的控制器如下所示: this._httpService.getOffers() .subscribe( data => { this.offers = <Offer[]>data.offers; }, error =
this._httpService.getOffers()
.subscribe(
data => { this.offers = <Offer[]>data.offers; },
error => alert(error),
() => console.log("Finished")
);
getOffers() {
return this._http.get('json/test.json')
.map(res => res.json())
}
this._httpService.getOffers('json/test.json')
.subscribe(
data => { this.offers = <Offer[]>data.offers; },
error => alert(error),
() => console.log("Finished")
);
但是我想将json/test.json移动到控制器。您可以这样做:
getOffers(url:string) { // <----
return this._http.get(url)
.map(res => res.json())
}
这样称呼它:
this._httpService.getOffers()
.subscribe(
data => { this.offers = <Offer[]>data.offers; },
error => alert(error),
() => console.log("Finished")
);
getOffers() {
return this._http.get('json/test.json')
.map(res => res.json())
}
this._httpService.getOffers('json/test.json')
.subscribe(
data => { this.offers = <Offer[]>data.offers; },
error => alert(error),
() => console.log("Finished")
);
您可以这样做:
getOffers(url:string) { // <----
return this._http.get(url)
.map(res => res.json())
}
这样称呼它:
this._httpService.getOffers()
.subscribe(
data => { this.offers = <Offer[]>data.offers; },
error => alert(error),
() => console.log("Finished")
);
getOffers() {
return this._http.get('json/test.json')
.map(res => res.json())
}
this._httpService.getOffers('json/test.json')
.subscribe(
data => { this.offers = <Offer[]>data.offers; },
error => alert(error),
() => console.log("Finished")
);
只需将一个参数传递给getOffers函数getOffersurl:string只需将一个参数传递给getOffers函数getOffersurl:string我在服务中是否必须说“url:string”?我不能只使用“url”吗?是的,你可以,因为TypeScript是JS的超集。在JS中可以做的一切都可以在TS中完成。也就是说,利用类型检查可能很有趣-啊,谢谢。我一直在想,因为它允许我只说“url”就行了。有没有一种方法可以让我编译代码,让它出现错误,并通知我我错过了它?你真是太好了!事实上并没有,但若你们有编译tsc类型脚本编译器会告诉你们。这个问题可以帮助你:啊,是的,我有一个编译器,但没有注意到其中的错误消息。只有一个错误我相信我能解决。非常感谢您的帮助:我必须在服务中说“url:string”吗?我不能只使用“url”吗?是的,你可以,因为TypeScript是JS的超集。在JS中可以做的一切都可以在TS中完成。也就是说,利用类型检查可能很有趣-啊,谢谢。我一直在想,因为它允许我只说“url”就行了。有没有一种方法可以让我编译代码,让它出现错误,并通知我我错过了它?你真是太好了!事实上并没有,但若你们有编译tsc类型脚本编译器会告诉你们。这个问题可以帮助你:啊,是的,我有一个编译器,但没有注意到其中的错误消息。只有一个错误我相信我能解决。非常感谢您的帮助: