2016-02-15 3 views
19

Я пытаюсь вернуть Observable из службы с макетными данными.Создание наблюдаемого для данных Mock в Angular 2

Я возвращаю это из моей службы:

return Observable.of(new Object()).map(MOCKACCOUNT =>JSON.stringify(MOCKACCOUNT)); 

Я получаю ошибку

Observable_1.Observable.of не является функцией.

Я пропустил некоторые из них? Я ввожу

import {Observable} from "rxjs/Observable"; 

Примечания: Я возвращался макет обещания перед, но основываясь на моем понимании, я не смог бы интерполировать значение. Например {{returnFromServiceStoredInExportedClass.name}}

+0

У меня есть образец, где я издеваюсь над наблюдаемым здесь: http://www.syntaxsuccess.com/viewarticle/angular-2.0-unit-testing – TGH

ответ

23

Похоже

import {Observable} from "rxjs/Observable"; 

должен быть

import {Observable} from "rxjs/Rx"; 

Angular2 RxJS getting 'Observable_1.Observable.fromEvent is not a function' error Смотрите также

+0

Благодарим за помощь. – Chris

+4

Интересно. В чем разница между «Наблюдаемым» от «rxjs/Observable» и «Наблюдаемым» от 'rxjs/Rx'? –

+0

'import {Observable} из 'rxjs/Observable'' будет работать только как интерфейс. 'import {Observable} из" rxjs/Rx "' является самой функцией вместе со всеми операторами. –

5

Использование

return Observable.of(new Object()).mapTo(MOCKDATA);` 

Оператор импорта хорошо.

import {Observable} from "rxjs/Observable"; 

необходимо также импортировать файл TS для MOCKDATA

import {MOCKDATA} from "../path_to_mockdata"; 
0

Должно быть

import { Observable } from 'rxjs/Observable'; 
import 'rxjs/add/observable/of'; 

потому

import {Observable} from "rxjs/Rx"; 

будет импортировать все другие операторы, которые вы не делаете требуется

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