Le code est ci-dessous
import {Component} from 'angular2/core';
import {Observable} from 'rxjs/Rx';
@Component({
selector: 'my-app',
template: 'Ticks (every second) : {{ticks}}'
})
export class AppComponent {
ticks =0;
click(){
let timer = Observable.timer(2000,1000);
timer.subscribe(t=>this.ticks = t);
}
}
Mais je reçois une erreur. L'erreur est dans la ligne suivante:
let timer = Observable.timer(2000,1000);
La définition de l'erreur est "propriété timer n'existe pas sur type typeof Observable" Pourquoi est-ce que je reçois une telle erreur?
C'est parce que vous n'avez pas appliqué la méthode timer
au prototype Observable
.
Mise à jour: Rxjs 6.0.0
Importez la méthode de création en tant que fonction pure statique:
import { timer } from 'rxjs';
let timer = timer(2000,1000);
Réponse originale:
Vous avez 2 options:
1) Appliquez la méthode avec:
import 'rxjs/add/observable/timer';
2) Importer l'opérateur en tant que fonction pure statique:
import { timer } from 'rxjs/observable/timer';
let timer = timer(2000,1000);
Personnellement, je recommanderais la 2ème approche.
tout ce que vous avez à faire est de importer Observable depuis le dossier racine de la bibliothèque car les anciennes versions de rxjs ne fournissent pas la classe Observable complète dans rxjs/Observable
import {Observable} from 'rxjs';