public getCountriesForBKVSVerification(){
this.blockUserInterface();
this.authenticationApiService.getCountriesForBKVSVerification().subscribe(success=>{
this.unblockUserInterface();
this.countries=success['data'];
for(let i=0; i<this.countries.length; i++){
if(localStorage.getItem('countryCode')==this.countries[i['countryCode']){
this.router.navigate (['login']);
break;
} else{
let type = localStorage.getItem("type")
if(type == '4'){
this.redirectUrl = this.prepareRedirectUrlFromLocalStorageForType4({error: true,
errormessage: 'country code is not of valid format.'});
const navigationExtras: NavigationExtras = { queryParams: {redirectUrl : this.redirectUrl ,
errormessage: 'Invalid Wallet Address Attach Request.'} };
this.router.navigate(['bkvs-verification-error'], navigationExtras);
return this.redirectUrl;
}
this.redirectUrl = this.prepareRedirectUrlFromLocalStorage({error: true,
errormessage: 'Country code is not of valid format.'});
const navigationExtras: NavigationExtras = { queryParams: {redirectUrl : this.redirectUrl ,
errormessage: 'Invalid Social KYC Verfication Request.'} };
this.router.navigate(['bkvs-verification-error'], navigationExtras);
}
}
}, error=>{
this.unblockUserInterface();
})
}
在这种方法中,我正在获取国家/地区列表,并从某个或其他URL将国家/地区代码存储在本地存储中。因此,在if条件下,我正在使用country数组的索引检查该本地存储国家/地区代码。它始终与国家/地区数组的第一个索引进行比较。
有人可以帮助我吗?
答案 0 :(得分:1)
{count: count}
this.countries[i['countryCode']
是循环中的当前索引。上面的代码行使用i
作为数组。 i
中没有属性countryCode
,因为它是数字。
您可能需要执行以下操作:
i
此外,我记得,本地存储适用于字符串。类型比较要小心。