【发布时间】:2019-10-29 05:25:33
【问题描述】:
我有两个页面,1. x-dashboard 页面 2. y-dashboard 页面。 x-dashboard 有一个表格组件 y-dashoard 也有一个包含不同数据的表格组件。
现在,我创建了一个通用过滤器组件,当用户单击 x 或 y 页面内的过滤器图标时,我将在基于表格列的弹出窗口中动态显示过滤器选项。
用户输入一些过滤器并单击应用后,我将把过滤器值存储在本地存储中(逻辑在过滤器组件内部),并根据订阅者在相应页面(x 或 y 页面)内访问该值。
当您使用链接从 xpage 导航到 ypage 时,我正在清除 ngdestroy 上的本地存储密钥。这样下一页就不会从本地存储中获取相同的过滤器参数。
但是当我输入 url(通过路由导航)时,ngdestroy 没有调用,并且 x 页面中的 localstorage(过滤参数)设置显示在 y 页面中。
【问题讨论】:
-
为什么不同时存储它们?
-
@HarunYılmaz 是的,我做到了。现在,问题是,当我从 y 仪表板导航到 x 仪表板时,先前存储的值仍然存在,并且默认情况下正在应用过滤器,这是错误的。我想清除有关组件更改的数据。
-
然后你可以这样做:清除 y 的 ngOnInit 上的 x 值,并清除 x 的 ngOnInit 上的 y
-
如果我有 x, y, z, p, q, r。会很复杂
-
你认为它为什么会很复杂?或者你可以只放一个像
lastPage这样的属性,而只有一条记录,如果该属性不匹配,那么重置它?
标签: angular components