我正在关注Angular's own main tutorial设置Javascript项目。这样可以正常工作,但在'hello world'之后停止并继续使用Typescript。
大多数打字稿的例子都可以翻译成javascript并且仍然可以使用,但现在我不得不拨打HTTP电话了。
在 index.html 中,我将所有模块作为单独的脚本文件加载:
<script src="node_modules/@angular/http/bundles/http.umd.js"></script>
在 app.module.js 中我加载ng.http.HttpModule
并根据stackoverflow上的大多数答案,我需要在引导程序部分中包含ng.http.HTTP_PROVIDERS
:
(function(app) {
app.AppModule =
ng.core.NgModule({
imports: [ ng.platformBrowser.BrowserModule, ng.forms.FormsModule, ng.http.HttpModule ],
declarations: [ app.AppComponent, app.Actorlist ],
bootstrap: [ app.AppComponent, [ng.http.HTTP_PROVIDERS] ]
})
.Class({
constructor: function() {}
});
})(window.app || (window.app = {}));
HTTP_PROVIDERS部分生成此错误:
Unexpected value 'undefined' used in the bootstrap property of module 'class2'
如果我将其删除,我不会收到错误,但我仍然无法通过组件调用http:
(function(app) {
app.Actorlist =
ng.core.Component({
selector: 'actor-list',
templateUrl: './app/actorlist.component.html'
})
.Class({
constructor: function() {
},
searchActor: function(){
var result = this.getActor();
console.log(result);
},
getActor: function(){
return ng.http.get(this.url)
.map(function (response) {
return response.json().data;
})
.catch();
}
});
})(window.app || (window.app = {}));
这会导致错误:
Error in app/actorlist.component.html:2:0 caused by: ng.http.get is not a function
如何将http引用添加到我的组件中?