我有一些观察者方法可以从服务器返回数据。此结果将应用于过滤器(带有数据输入的HTML表单)。这些过滤器相互关联。这意味着当我选择一个过滤器时会加载另一个过滤器。
简要说明是:
Load data from server ->
Assign response to variable and assign to filter ->
Choose value from filter ->
Fill others filters ->
Load content on the page based selected filter
用户可以离开此页面,然后返回。
如何为页面的用户声明提供选定的过滤器和内容,避免重复请求服务器?
答案 0 :(得分:0)
您的组件应接受能够重新创建状态的@Input
类对象。您应该更新此对象,并将其存储在类似于服务的类中,以在页面内外移动中保持其生命周期。您要解决的概念类似于ngrx store
正在解决的概念。
存储机制并不难,在这个对象中所要表现的很难。如果您不想依赖缓存的数据,则应存储您描述的流(即过滤器依赖性),以便使用新鲜数据重新初始化组件。如果您不关心数据的即时更新,则不需要存储数据(以及用于保持视图一致性的过滤器值),但是不会进行API调用。我认为所有的魔力都将被推入onInit`。
如评论中所述,请考虑GoF的memento设计模式作为您设计的参考