J'ai deux composants qui doivent être connectés via Observable().Observable ne déclenche pas
Dans le premier je déclare
@Injectable()
export class One{
private changeConfirmed = new Subject<boolean>();
changeConfirmed$ = this.changeConfirmed.asObservable();
public init$: EventEmitter<boolean>;
registerChangeConfirmed(category:boolean){
alert('sending')
this.changeConfirmed.next(category);
}
onMsg(){
this.registerChangeConfirmed(true);
}
}
onMsg
est l'événement lié au modèle
et dans le second
Import { One } from './pat/to/it'
@Component({
providers:[One]
})
export class two{
constructor(private childClass : One){
this.childClass.changeConfirmed$.subscribe(x => {alert(x)})
}
}
Cependant, l'événement ne soit pas émis. Mais quand j'émets événement en classe deux au lieu de la classe one = i comprennent
this.childClass.registerChangeConfirmed(true)
en classe deux cas se déclenche. Pourquoi cela ne marche-t-il pas lorsque je l'invoque en classe 1?
Seulement pour '@Output()' dans les composants et les directives. Voir aussi http://stackoverflow.com/a/34402436/217408 –
Le 'One' est un composant ou un service? Merci! –
@ThierryTemplier en fait, One est à la fois – Johnyb