在本文中,您将会了解到关于使用angulerActivatedRouter快照参数获取json的新资讯,同时我们还将为您解释angular获取url的相关在本文中,我们将带你探索使用angulerAc
在本文中,您将会了解到关于使用 anguler ActivatedRouter 快照参数获取 json的新资讯,同时我们还将为您解释angular获取url的相关在本文中,我们将带你探索使用 anguler ActivatedRouter 快照参数获取 json的奥秘,分析angular获取url的特点,并给出一些关于ActivatedRoute始终指向NgRx效果中的根、Anaconda 使用 conda activate 激活环境报错 Your shell has not been properly configured to use ''conda activate''.、Angular - 从 CanActivate 中的 Observable 服务获取布尔值 更新:来自isActiveUser()的附加逻辑、Angular 2,从不为实现OnActivate的组件调用routerOnActivate方法的实用技巧。
本文目录一览:- 使用 anguler ActivatedRouter 快照参数获取 json(angular获取url)
- ActivatedRoute始终指向NgRx效果中的根
- Anaconda 使用 conda activate 激活环境报错 Your shell has not been properly configured to use ''conda activate''.
- Angular - 从 CanActivate 中的 Observable 服务获取布尔值 更新:来自isActiveUser()的附加逻辑
- Angular 2,从不为实现OnActivate的组件调用routerOnActivate方法
使用 anguler ActivatedRouter 快照参数获取 json(angular获取url)
默认情况下,在路由参数更改时,angular 只会更新 URL 而不会更新组件。 所以这可以通过以下方式解决。
更改组件处的 routeReuseStrategy:
constructor(private router: Router) {
this.router.routeReuseStrategy.shouldReuseRoute = () => false;
}
或者在参数改变时重置组件的状态:
this.route.params.subscribe(params => {
this.pathUrl = params['pathUrl'];
// this.fact = await this.factsService.getFactsAsync ...
});
,
您需要订阅参数更改。
this.route.params.subscribe(params => {
this.pathUrl = params['pathUrl'];
});
ActivatedRoute始终指向NgRx效果中的根
如何解决ActivatedRoute始终指向NgRx效果中的根?
我试图弄清楚为什么我的ngrx效果中的ActivatedRoute总是指向根,其“ .url”总是返回path: ''''
的Observable。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
Anaconda 使用 conda activate 激活环境报错 Your shell has not been properly configured to use ''conda activate''.
在 vs code 下打开终端会报错 Your shell has not been properly configured to use ''conda activate''.
解决方法:
1、激活环境
#激活环境
source activate
2、退出环境
conda deactivate
3、激活 base
conda activate base
h 好像这个办法只能短暂的解决问题,再打开还是会出现,最后从 anaconda navigator 界面卸载 vs code 再安装就没问题了......
Angular - 从 CanActivate 中的 Observable 服务获取布尔值 更新:来自isActiveUser()的附加逻辑
如何解决Angular - 从 CanActivate 中的 Observable 服务获取布尔值 更新:来自isActiveUser()的附加逻辑?
我正在尝试获取布尔值并将其以 angular 形式返回到 CanActivate
内。
这是我的示例服务:
isActiveUser<bool>(){
return this.http.get<boolean>(apiGetUserStatus);
}
这是我的canActivateMethod
canActivate(route: ActivatedRouteSnapshot,state: RouterStateSnapshow): Observable<boolean> | Promise<boolean> | boolean){
var status = this.myService.isActiveUser().subscribe((active: boolean)=>{
return active;
})
return status;
}
不幸的是,当我尝试控制台记录 status
时,它显示了可观察的内容,而不是实际的布尔值。对此有什么帮助吗?
解决方法
canActivate 也可以返回一个 observable。因此,只需以这种方式更改您的代码。
canActivate(route: ActivatedRouteSnapshot,state: RouterStateSnapshot): boolean | Observable<boolean> | Promise<boolean> {
const subject = new Subject<boolean>();
this.myService.isActiveUser().subscribe((result) => {
subject.next(result);
});
return subject;
}
,
尝试只返回 isActiveUser()
函数。
canActivate(
route: ActivatedRouteSnapshot,state: RouterStateSnapshow
): Observable<boolean> {
return this.myService.isActiveUser();
}
更新:来自isActiveUser()
的附加逻辑
您可以使用 map
或 tap
等 RxJS 运算符来转换数据或根据 isActiveUser()
的结果执行某些效果。
canActivate(
route: ActivatedRouteSnapshot,state: RouterStateSnapshow
): Observable<boolean> {
return this.myService.isActiveUser().pipe(
map((activeUser: boolean) => {
// do something
return isUserAdmin(); // <-- eg.: function that returns boolean
}),tap((user: boolean) => {
// do some side-effects
// tap doesn''t have to return anything
}),switchMap((user: boolean) => {
// you could also map to another observable using `switchMap`
return someFunc(); // <-- eg: function returns an `Observable<boolean>`
})
);
}
Angular 2,从不为实现OnActivate的组件调用routerOnActivate方法
import {Component} from 'angular2/core'; import { OnActivate,ComponentInstruction } from 'angular2/router'; @Component({selector: 'header-title',template: `<div>routerOnActivate: {{log}}</div>`}) export class HeaderTitle implements OnActivate { log: string = ''; routerOnActivate(next: ComponentInstruction,prev: ComponentInstruction) { console.log('hello on activate'); this.log = `Finished navigating from "${prev ? prev.urlPath : 'null'}" to "${next.urlPath}"`; } }
从不调用方法routerOnActivate.
我使用RouteConfig注释配置了路由:
@RouteConfig([ {path: '/',component: Home,name: 'Index',data: {title: 'Index page'}},{path: '/home',name: 'Home',data: {title: 'Welcome Home'}},{path: '/**',redirectTo: ['Index']} ])
我应该在路由器中配置其他东西来激活监听器吗?
关于使用 anguler ActivatedRouter 快照参数获取 json和angular获取url的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于ActivatedRoute始终指向NgRx效果中的根、Anaconda 使用 conda activate 激活环境报错 Your shell has not been properly configured to use ''conda activate''.、Angular - 从 CanActivate 中的 Observable 服务获取布尔值 更新:来自isActiveUser()的附加逻辑、Angular 2,从不为实现OnActivate的组件调用routerOnActivate方法等相关内容,可以在本站寻找。
本文标签: