问题标签 [routereusestrategy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
19 浏览

angular - 如何使用 Angular RouteReuseStrategy 访问 shouldDetach 中的组件

在实现自定义 RouteReuseStrategy 时,我希望能够调用自定义组件方法:

我可以在 shouldAttach RouteReuseStrategy 方法上调用 onRouteAttach。

我可以在哪里以及如何调用 onRouteDetach?

0 投票
0 回答
20 浏览

angular - 缓存后如何以角度访问RouteReuseStrategy中的任何组件数据?

我正在使用 RouteReuseStrategy 来缓存特定组件的最后状态。但是,一旦组件超出范围,我想访问它的数据,比如组件有一个名为 flag 的变量。一旦组件被缓存并且我们在其他一些组件中,我想访问标志。我希望使用 RouteReuseStrategy 存储的组件的所有变量都可用,因为 Angular 必须在某处存储该组件的状态。

0 投票
0 回答
44 浏览

angular - Angular 在同时使用 RouterReuseStrategy 和动态路由时刷新了所有组件

角版本 9.1.12。

我在加载路由配置(RouteConfigLoadEnd事件)结束时更改了路由配置,代码是这样的:

是否使用“router.resetConfig”没有区别。

我扩展了 RouteReuseStrategy 并且什么也没做,就像这样:

并在 AppModule 中提供,如下所示:

然后,每当我浏览 url 时,都会重新加载 EntranceComponent 和 MenuComponent。组件是这样的:EntranceComponent 直接使用了 MenuComponent: 并且会将 test1 或 test2 组件加载为具有不同路由的子组件。

0 投票
0 回答
89 浏览

angular - Angular Route Reuse Strategy 使用其他路由的更改更新缓存状态

我有一个具有以下设置的应用程序:

包含多个部分 'overview' 的概览路线。用户可以导航到激活路线“section/:id”的每个部分。

我已经为路线“概述”实施了角度路线重用策略,以防止在从“部分”导航回“概述”列表时重新呈现整个部分列表。

对各个部分所做的更改不会反映在缓存的概览列表中。

有没有办法使用对各个部分执行的更改来更新缓存状态,以便概览列表始终显示最新数据?

0 投票
0 回答
16 浏览

angular - 角度 - 如何从存储的路线中删除特定路线(routeReuseStrategy)

在我的应用程序中,用户可以使用选项卡(如浏览器)打开组件并访问主题

我正在使用 routeReuseStrategy 在我的应用程序中存储路由。

但是当用户关闭选项卡时我需要销毁特定组件并在用户再次打开它时重新创建它。

0 投票
0 回答
22 浏览

angular - Angular RouteReuseStrategy 和 queryParams

我正在使用 Angular 12,并且我的以下路由重用策略运行良好:

在我重用的组件中,我订阅了这样的查询参数:

我的问题是,该订阅仅在首次加载组件时触发一次。如果路由再次与新的查询参数一起使用,则 ActivatedRoute 不会更新。

有什么方法可以使用 RouteReuseStrategy 并且仍然能够在重用组件中订阅新的查询参数(或路由参数)?

我确实有一个使用路由器事件订阅的解决方法,它允许访问带有新参数的 URL。但如果有一种方法可以使用 queryParams 订阅,我想我更愿意这样做。