Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular2路由和保存/恢复导航状态_Angular - Fatal编程技术网

Angular2路由和保存/恢复导航状态

Angular2路由和保存/恢复导航状态,angular,Angular,使用angular 2,我可以根据路由器设置轻松地在不同视图之间导航。来回移动时,“我的视图”通常会根据其url参数反映其状态。 例如,当从“”导航到“”然后导航到“”时,然后回击将导航到“”,并且相应的视图组件不需要知道任何其他内容,只需要知道url参数即可设置其状态 然而,在某些情况下,视图的状态反映的不仅仅是调用它时url参数中的内容,我正试图理解如何通过angular 2方法来实现这一点。 (请注意,WPF有一个概念,页面可以将其状态存储在添加到导航日志条目的对象中) 示例1: 我想通过

使用angular 2,我可以根据路由器设置轻松地在不同视图之间导航。来回移动时,“我的视图”通常会根据其url参数反映其状态。 例如,当从“”导航到“”然后导航到“”时,然后回击将导航到“”,并且相应的视图组件不需要知道任何其他内容,只需要知道url参数即可设置其状态

然而,在某些情况下,视图的状态反映的不仅仅是调用它时url参数中的内容,我正试图理解如何通过angular 2方法来实现这一点。 (请注意,WPF有一个概念,页面可以将其状态存储在添加到导航日志条目的对象中)

示例1: 我想通过导航到“”(new是视图以新订单开始的触发关键字)来创建一个新订单,然后输入一些数据并意识到需要创建一个新客户,而不仅仅是选择一个。这将导航到“”,完成后将返回。客户视图如何正确恢复其状态(即恢复输入的数据)。 (请注意,WPF将其称为页面函数)

示例2: 当我从列表视图(所有订单)向下钻取到详细视图(单个订单)时,用户应该能够从详细视图中移动到下一个/上一个订单,但这不应该是浏览器历史记录条目,即单击“上一步”返回列表(熟悉JIRA的人可能知道这一点;从问题列表中,您可以深入到一个问题,然后导航到下一个/上一个问题)。因此,该视图使用类似“”的内容调用(“当前”指的是列表,“1”指的是索引),用户单击“下一步”以显示列表中的第二个订单,然后深入到其客户。如何从客户单击“上一步”返回到第二个项目,而不是第一个项目?或者,这可以通过操纵url来解决,因此“下一步”按钮将url更新为“”,而无需添加历史记录条目

以前(以前)关于这个问题的讨论要么表示可以稍后添加,要么指向库,例如@ngrx/store


关于如何使用angular 2路由处理此问题的概念的帮助将不胜感激。

我做了更多的研究,找到了路由器。导航(…,{replaceUrl:true}),它导航并替换以前的历史记录条目。这样,示例2可以通过使用replaceUrl:true导航“下一步”按钮来解决。我想如果您将其作为带有代码段的“答案”可能会更好:),注释可能无法直接访问哇,我不敢相信没有实际答案!很难找到关于路由器+状态的任何信息,因为术语状态表示多个相似但不同的事物:-/