angular: Angular2 beta 17: error TS2339: Property 'from' does not exist on type 'typeof Observable'. (Visual Studio 2015 ASP.NET 5)

    Observable
        .from(this.resourceStaffs) // resourceStaffs is array
        .map((resourceStaff: ResourceStaff, index: number) ...

before upgrade, it worked well.

About this issue

  • Original URL
  • State: closed
  • Created 8 years ago
  • Comments: 36 (6 by maintainers)

Most upvoted comments

Change

import { Observable } from 'rxjs/Observable';
import 'rxjs/Rx';

To

import {Observable} from 'rxjs/Rx';

or

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

Have you tried import 'rxjs/add/observable/from'; ?

I know this fix doesn’t seem related but I had the same thing happen for ‘fromPromise’. The following fixed it in VS2015 update 3. https://github.com/Microsoft/TypeScript/issues/8518#issuecomment-229506507

Same thing with ‘delay’. contains working delay code. This thing works for me

import { Observable } from ‘rxjs/Observable’; import { of } from ‘rxjs/observable/of’; import ‘rxjs/add/operator/delay’;

of(true).delay(1000).subscribe(() => { /* code to ex. after delay */ });

Hello, i think that a have a same problem : but with tis error : app/app.component.ts(74,19): error TS1109: Expression expected. Some idea ?

`import {Component, OnInit} from ‘@angular/core’; import { Hero } from ‘./hero’; import { HeroService } from ‘./hero.service’;

@Component({ selector:‘my-app’, template: <h1>{{title}}</h1> <h2>My Heroes</h2> <ul class="heroes"> <li *ngFor="let hero of heroes" [class.selected]="hero === selectedHero" (click)="onSelect(hero)"> <!-- each hero goes here --> <span class="badge">{{hero.id}}</span>{{hero.name}} </li> </ul> <my-hero-detail [hero]="selectedHero"></my-hero-detail>, styles: [ .selected { background-color: #CFD8DC !important; color: white; } .heroes { margin: 0 0 2em 0; list-style-type: none; padding: 0; width: 15em; } .heroes li { cursor: pointer; position: relative; left: 0; background-color: #EEE; margin: .5em; padding: .3em 0; height: 1.6em; border-radius: 4px; } .heroes li.selected:hover { background-color: #BBD8DC !important; color: white; } .heroes li:hover { color: #607D8B; background-color: #DDD; left: .1em; } .heroes .text { position: relative; top: -3px; } .heroes .badge { display: inline-block; font-size: small; color: white; padding: 0.8em 0.7em 0 0.7em; background-color: #607D8B; line-height: 1em; position: relative; left: -1px; top: -4px; height: 1.8em; margin-right: .8em; border-radius: 4px 0 0 4px; }], providers:[HeroService]

})

export class AppComponent implements OnInit{ title = ‘Tour of Heroes’; heroes = Hero[]; selectedHero : Hero;

constructor(private heroService: HeroService){}

getHeroes(): void {
    this.heroService.getHeroes().then(heroes=>this.heroes = heroes);
}

ngOnInit(): void{
    this.getHeroes();
}

onSelect(hero: Hero): void{
    this.selectedHero = hero;
    // console.log(this.selectedHero);
}

}

`