2016-07-02 40 views
0

我輸入這樣的:爲什麼我只得到了幾個功能,當我輸入rxjs /接收

import { Observable } from 'rxjs' ; 

import { Observable } from 'rxjs/Rx' ; 

,並宣佈這樣

ob : Observable<any>; 
屬性

當我在我的構造函數中編寫this.ob.fromarray()時,我只能獲得智能感知subscribe和2或3個ot她的職能,而不是fromarray這是必需的。

回答

1

你可能想導入整個ReactiveXJS包這樣的:

import 'rxjs/Rx'; 

在另一方面Observable.fromArray(arr: Array<any>)是一個靜態方法 - 你不能用它上的一個實例。雖然文檔說,這種方法已被廢棄,現在應該使用Observable.from()

使用它,像這樣的實例:

//our root app component 
import {Component} from '@angular/core'; 
import {Observable} from 'rxjs/Rx'; 
import 'rxjs/Rx'; 

@Component({ 
    selector: 'my-app', 
    providers: [], 
    template: ` 
    <div *ngFor="let item of output">{{item}}</div> 
    `, 
    directives: [] 
}) 
export class App { 
    ob: Observable<any>; 

    someArray: Array<number> = [ 1, 2, 3, 4, 5, 6, 7, 8 ]; 
    output: Array<number> = []; 

    constructor() { 
    this.ob = Observable.from(this.someArray); 

    this.ob.subscribe((data) => { 
     this.output.push(data); 
    }); 
    } 
} 
+0

那麼我們將如何在我們的代碼中引用rxjs – blackHawk

+0

請嘗試一下 - 我以相同的方式使用它,它在Visual Studio代碼和WebStorm中也能正常工作。使用可視代碼工作室我需要做這樣的Observable.fromArray – rinukkusu

+0

IM – blackHawk

-1

您需要seperatly進口經營者是這樣的:

import {Observable} from "rxjs/Observable"; 

import "rxjs/add/observable/interval"; 
import "rxjs/add/operator/take"; 
import "rxjs/add/operator/map"; 
import "rxjs/add/operator/bufferCount" 

check this for example

而且我覺得fromarray()已過時。改用()來代替。 我希望這可以幫助你。

+0

進口不是這裏的實際問題。 – rinukkusu

相關問題