ActivatedRouteSnapshot和ActivatedRouteAngular 4有什么区别?这是我的理解,ActivatedRouteSnapshot是一个孩子ActivatedRoute,意味着ActivatedRoute包含ActivatedRouteSnapshot.
顺便提一下,我尝试在谷歌搜索中搜索这个问题的答案,但我没有发现任何搜索结果是可以理解的.
谢谢!
我正在寻找一个JavaScript函数,它将以下数据结构作为参数:
let data = [
{value: 'a'},
{delay: [
{value: 'b'},
{delay: [
{value: 'c'}
]}
]},
{value: 'd'}
];
Run Code Online (Sandbox Code Playgroud)
如您所见,数据结构是一个对象数组.每个对象都包含一个属性.这些属性中的每一个都是带有字符串的"值"或带有与其值相同类型的另一个数组的"延迟".
该函数应该向控制台打印每个"值"字符串,并在以相同方式处理延迟数组之前为每个"延迟"暂停两秒钟.该函数应支持任何深度的延迟嵌套.上面显示的两级深度延迟嵌套只是一个例子.
对于上面的示例数据,控制台的功能输出应该是(按此顺序,只有这个顺序):
a
b
c
d
Run Code Online (Sandbox Code Playgroud)
如何编写代码来实现此功能?
我正在查看NgRx 提供的示例应用程序的代码。我注意到示例应用程序中的每个 reducer 函数都有一个返回值,该返回值由该State特定 reducer的接口输入。例如,书籍减速器具有以下代码:
export interface State {
ids: string[];
entities: { [id: string]: Book };
selectedBookId: string | null;
}
export const initialState: State = {
ids: [],
entities: {},
selectedBookId: null,
};
export function reducer(
state = initialState,
action: book.Actions | collection.Actions
): State {
Run Code Online (Sandbox Code Playgroud)
后来,我读了一本关于 NgRx 的书,名为Oren Farhi 的《使用 Angular 和 NgRx进行响应式编程》,并偶然发现了一段代码片段,显示了一个 reducer 函数的公共主体结构(第 24-25 页)公共结构的代码示出了减速函数的返回值作为由正在键入ActionReducer与State作为类型参数(称为SomeInterface而非State在这种情况下):
export interface …Run Code Online (Sandbox Code Playgroud)