我正在使用Angular构建Ionic应用程序,并调用API以获得一些结果。根据响应对象的特定属性(例如“ mode” =“ 0”或mode =“ 1”),我需要更改应用程序路由模块中定义的路径,尤其是要动态更改主页。
我希望appcomponent(启动组件)调用API并检查模式,然后根据该属性传递一些路由。
例如:
我想要类似的东西:
s2=[ ['0' for col in range(100)] for row in range(100)]
for u in log_progress (range(100)):
for v in log_progress (range(100)):
energy=0.0
#for h in log_progress(range(200)):
z=0.0
for l in log_progress(range(6)):
for h in log_progress(range(0,int(100-delay[l][u][v]))):
#if h+delay[l][u][v]< 100:
m= int(h+delay[l][u][v])
z= z + float(str(FB.collect()[l][m]))
energy= energy+z*z
s2[u][v]=round(energy)
是否可以在app-routing.module内部执行类似的操作? 在第二种情况下也可以隐藏firstPath吗?
答案 0 :(得分:0)
这不是更改应用程序路由文件中此类要求的正确方法。 您可以使用Guard来实现。
In your child route file do like this:
{
path: '',
component: HomePage,
canActivate: [AuthGuard]
}
Auth Guard file:
import { Injectable } from '@angular/core';
import { ActivatedRouteSnapshot, RouterStateSnapshot, CanActivate } from '@angular/router';
@Injectable({
providedIn: 'root'
})
export class AuthGuard implements CanActivate {
mode: number; **// You can save this mode variable into a common service and use it.**
constructor() { }
canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot): any {
if(this.mode == 1) {
return false;
}else {
return true;
}
});
}
}