我有一個問題,我的canActivate方法返回false並且仍然導航到屏蔽屏幕。這個問題只在Chrome中出現,而在IE中一切正常。 canActivate方法看起來艾克這樣的:canActivate返回false並且仍然進入屏幕Angular 2
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
return this.getDataFromApi(state.url)
.toPromise()
.then(result=> {
return result;
});
}
而且getDataFromApi():
getDataFromApi(link): Observable<boolean> {
return this.http.get("api/security")
.map(response => {
var url = link.replace("/", "");
var data = response.json();
var privileges = data["privileges"];
var currentItem = privileges[url];
return currentItem["view"];
});
}
有什麼辦法來解決在Chrome這個問題?感謝提前。
編輯 我已經在IE,EDGE,Firefox中檢查了問題不存在的地方。 Chrome只能與開發者控制檯打開。
你在'currentItem [「view」]中返回布爾值嗎? – VadimB
@VadimB是啊,我應該提到currentItem [「view」]返回布爾值。 –