使用角度2,我可以根据路由器设置轻松地在不同视图之间导航。来回移动时,我的观点通常会根据其网址参数反映其状态。 例如,当从“http://orders”导航到“http://order/1”然后导航到“http://customer/304”时,然后点击导航到“http://order/1”并且相应的视图组件不会需要知道除url参数以外的任何其他内容来设置其状态。
但是,有些情况下,视图的状态不仅仅反映了调用时url参数中的内容,而且我试图了解如何以角度2方式完成此操作。 (请注意,WPF有一个概念,页面可以将其状态存储在一个对象中,该对象将添加到导航日记条目中。)
示例1: 我想通过导航到“http://order/new”创建新订单('new'是视图的触发关键字,以新订单开始),然后输入一些数据并意识到需要创建新客户而不只是选择一个。这导航到“http://customer/new”,完成后会导航回来。客户如何正确地恢复其状态(即恢复输入的数据)。 (注意,WPF将其称为页面函数)。
示例2: 当我从列表视图(所有订单)向下钻取到详细视图(单个订单)时,用户应该能够从详细视图中移动到下一个/上一个订单,但这不应该是浏览器历史记录条目,即点击返回列表(熟悉JIRA的人可能知道这一点;从问题列表中,您可以深入研究一个问题,但随后导航到下一个/上一个问题)。因此,视图被称为“http://order/Current/1”(其中“当前”指的是列表而“1”是索引),用户单击下一步以显示列表中的第二个订单然后向下钻取给它的客户。如何从客户点击返回第2项,而不是第1项?或者,这可以通过操纵网址来解决,因此下一个按钮会将网址更新为“http://order/Current/2”而不添加历史记录条目。
关于此事的先前(较旧)讨论已经声明可以稍后添加或指向库,例如@ ngrx / store。
有关如何使用角度2路由处理此问题的概念的帮助将受到高度赞赏。