angular - Angular 5:NGXS 和路由解析器
问题描述
是否可以使用 NGXS 存储用户路由解析器?
我有一个这样的测试,但我不知道这是否是正确的方法:
import {ActivatedRouteSnapshot, Resolve} from "@angular/router";
import {Todo} from "./todos.models";
import {Observable} from "rxjs/Observable";
import {Select, Store} from "@ngxs/store";
import {GetTodo, TodosState} from "./todos.state";
import {Injectable} from "@angular/core";
@Injectable()
export class TodoResolver implements Resolve<Todo> {
constructor(
private store:Store
) {}
@Select(TodosState.getTodo)
private todo$:Observable<Todo>;
resolve(route:ActivatedRouteSnapshot): Observable<Todo>
{
const id = <number><any> route.paramMap.get('id');
this.store.dispatch(new GetTodo(id));
return this.todo$;
}
}
当我尝试这个时,应用程序只是挂起。没有显示错误。
欢迎大家帮忙。谢谢
解决方案
请忽略,我自己找到了解决方案...
将代码更改为:
@Injectable()
export class TodoResolver implements Resolve<Todo> {
constructor(
private store:Store
) {}
resolve(route:ActivatedRouteSnapshot): Observable<Todo>
{
const id = <number><any> route.paramMap.get('id');
this.store.dispatch(new GetTodo(id));
return this.store.selectOnce(TodosState.getTodo);
}
}
推荐阅读
- angular - 使用“发生未处理的异常:NGCC 失败”编译 Angular 项目
- dependency-injection - 在 Blazor WebAssembly 中使用依赖注入
- scala - scala中的函数柯里化
- javascript - 从不同的 api 响应添加对象数组
- here-api - PROXIMITY 参数描述了什么(事件 API)
- c# - 我可以只公开某些 C# 类吗?
- java - 在 Android Studio 中使用 OpenCV 和 Tensorflow 进行实时情绪检测
- javascript - VUEX & WEB3:重复的方法构造函数。该方法被定义为 RPC 调用和 Object 方法
- kubernetes - Kubernetes 服务的通用保险库策略
- node.js - 如何在nodeJS中格式化iso日期