我试图关注this tutorial,但我收到了错误 .
- pathMatch:'full' . 我尝试改变“@ angular / router " to " 3.0.0-beta.2”,仍然是同样的问题 .
我的依赖:
"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"
},
- 输入'Observable <{}> ' is not assignable to type ' Observable',它指向'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;
}
任何人都可以指导我修复这些错误吗?谢谢 .
2 回答
你可以试试施法:
编译器抱怨,因为返回值
o
的类型为Observable<{}>
. 这很可能是因为您正在从p
构造一个Observable
,它解析为Promise<{}>
类型 . 仔细检查dialogService.confirm()
并确保其返回值的类型为Promise<boolean>
.如果这不起作用,你可以尝试明确地像@rinukkusu建议一样 .