使用http提供程序使用webapi时无效的提供程序错误

时间:2016-06-16 19:41:49

标签: angular angular2-services

我正在尝试在angular2 / http组件中使用webapi服务。出于学习目的,我想消费公众restapi service 返回国家列表。我编写了一个angular2组件,它将调用CountryService组件来使用实际的restapi服务,然后迭代列表并显示给用户。

我已经创建了一个用于测试它的plunkr。 Plunker URL

我在Chrome浏览器中遇到如下问题

angular2.dev.js:24821 Error: Uncaught (in promise): Failed to load appcomponent.html
at resolvePromise (angular2-polyfills.js:564)
at angular2-polyfills.js:600
at ZoneDelegate.invokeTask (angular2-polyfills.js:382)
at Object.onInvokeTask (angular2.dev.js:2177)
at ZoneDelegate.invokeTask (angular2-polyfills.js:381)
at Zone.runTask (angular2-polyfills.js:282)
at drainMicroTaskQueue (angular2-polyfills.js:500)
at XMLHttpRequest.ZoneTask.invoke (angular2-polyfills.js:452)

任何想法是什么问题?我错过了什么?

1 个答案:

答案 0 :(得分:2)

您正在使用angular2的测试版,但尝试像RC一样导入:

import {bootstrap} from '@angular/platform-browser-dynamic';

对于测试版,它应该是:

import {bootstrap} from 'angular2/platform/browser';

请参阅更新的plunkr https://plnkr.co/edit/VbLby6wa3RTW6U0m4FPv?p=preview

我还将moduleId属性添加到AppComponent的注释:

@Component({
    moduleId: __moduleName, <== this line
    selector: 'my-app',
    templateUrl: 'appcomponent.html',
    providers: [CountryService]
})

否则您将收到404错误。

在此页面http://blog.thoughtram.io/angular/2016/06/08/component-relative-paths-in-angular-2.html

中查看有关Angular 2中组件相对路径的更多信息