2016-06-16 3 views
0

Я пытаюсь использовать службу webapi в компоненте angular2/http. В целях обучения я хочу потреблять общественность restapi service , которая возвращает список стран. Я написал компонент angular2, который будет ссылаться на компонент CountryService для использования фактической службы restapi, а затем перечислить список и рассказать пользователю.Недопустимый провайдер Ошибка при использовании webapi с использованием http-провайдера

Я создал 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) 

любые идеи, в чем проблема? что мне не хватает?

ответ

2

Вы используете бета-версию angular2 но при попытке импортировать как RC:

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

Для бета-версии она должна быть:

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

Смотрите обновленный plunkr https://plnkr.co/edit/VbLby6wa3RTW6U0m4FPv?p=preview

I также добавлено свойство moduleId для аннотации AppComponent:

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

В противном случае вы получите сообщение об ошибке 404.

Посмотреть более подробную информацию о составляющих относительных путях в угловых 2 на этой странице http://blog.thoughtram.io/angular/2016/06/08/component-relative-paths-in-angular-2.html

+0

UI не отображаются со списком стран, которую он получил от WebAPI? Есть идеи? – Krishnan

+0

Вы не запускали метод getCountriesByRegion. Я обновил plunkr https://plnkr.co/edit/VbLby6wa3RTW6U0m4FPv?p=preview – yurzui

+0

Я попробовал реплицировать один и тот же код в своем локальном, но я получаю некоторую ошибку компиляции в строке «moduleId: __moduleName», Error: can not найти имя __moduleName. любые идеи, почему я получаю эту ошибку в своем локальном? – Krishnan

Смежные вопросы