如何在ES5代码中使用Angular2提供的HTTP服务? Here是TypeScript示例。
我基本上需要GET和POST请求的示例。
显示的示例here无效。 get
似乎未定义。
这是一个不起作用的例子:
var SearchResultComponent = ng.core.Component({
selector: "search-result",
viewProviders: [ng.http.HTTP_PROVIDERS],
templateUrl: "componentTemplates/SearchResult.html"
}).Class({
constructor: [ng.http.HTTP_PROVIDERS, function(http) {
this.params = params;
this.http = http;
}],
ngOnInit: function(){
console.log(this.http.get); //undefined
}
})
答案 0 :(得分:0)
在SearchResultComponent
组件的构造函数中,您需要使用ng.http.Http
而不是HTTP提供程序:
var SearchResultComponent = ng.core.Component({
selector: "search-result",
viewProviders: [ng.http.HTTP_PROVIDERS],
templateUrl: "componentTemplates/SearchResult.html"
}).Class({
constructor: [ng.http.Http, function(http) { // <-----
this.params = params;
this.http = http;
}],
ngOnInit: function(){
console.log(this.http.get); //undefined
}
});
在您的情况下,它不是注入的Http
对象...
在提升您的应用程序时,可以在providers
属性或viewProviders
属性中指定提供程序(就像您一样)。
请参阅此plunkr以了解使用Angular2和ES5的HTTP:https://plnkr.co/edit/oM4gTgW5Q7gpR8Qderjj。