2016-07-11 39 views
5

Sto cercando di seguire this tutorial, ma sto ricevendo errori.Il tipo 'Osservabile <{}>' non è assegnabile al tipo 'Osservabile <boolean> | booleano '

  1. pathMatch: "completo". Ho provato a cambiare "@ angular/router" a "3.0.0-beta.2", ancora lo stesso problema.

mie dipendenze:

"dependencies": { 
    "@angular/common": "2.0.0-rc.3", 
    "@angular/compiler": "2.0.0-rc.3", 
    "@angular/core": "2.0.0-rc.3", 
    "@angular/http": "2.0.0-rc.3", 
    "@angular/platform-browser": "2.0.0-rc.3", 
    "@angular/platform-browser-dynamic": "2.0.0-rc.3", 
    "@angular/platform-server": "2.0.0-rc.3", 
    "@angular/router": "3.0.0-beta.2", 
    "@angular/router-deprecated": "2.0.0-rc.2", 
    "nativescript-angular": "0.2.0", 
    "tns-core-modules": "^2.1.0" 
}, 
  1. Tipo 'Osservabile < {}>' non è assegnabile al tipo 'osservabile', dove si punta al riga 'return o';

    canDeactivate(): Observable<boolean> | boolean { 
    
    if (!this.crisis || this.crisis.name === this.editName) { 
    
    return true; 
    } 
    let p = this.dialogService.confirm('Discard changes?'); 
    let o = Observable.fromPromise(p); 
    return o; 
    } 
    

Qualcuno mi può guidare per correggere questi errori? Grazie.

risposta

4

Si potrebbe provare casting:

canDeactivate(): Observable<boolean> | boolean { 

    if (!this.crisis || this.crisis.name === this.editName) { 

     return true; 
    } 
    let p = this.dialogService.confirm('Discard changes?'); 
    let o = <Observable<boolean>>Observable.fromPromise(p); 
    return o; 
} 
3

Il compilatore si lamenta perché il valore di ritorno o è di tipo Observable<{}>. Ciò è probabilmente dovuto al fatto che si sta costruendo un Observable da p, che consente di digitare Promise<{}>. Verifica due volte il dialogService.confirm() e assicurati che il suo valore restituito sia di tipo Promise<boolean>.

Se ciò non funziona, puoi provare a trasmettere esplicitamente come suggerisce @rinukkusu.

+0

grazie mille! Sai come ho potuto correggere l'errore "pathMatch", i suggerimenti da internet non sembrano funzionare. – kenkulan

+1

@kenkulan Qual è l'errore esatto che si riceve, da dove e in quali circostanze? – linguamachina

Problemi correlati