regularjs / regular-state

regular router based on stateman
http://regularjs.github.io/regular-state/
MIT License
13 stars 9 forks source link

路由卸载功能支持 #8

Closed Qquanwei closed 4 years ago

Qquanwei commented 4 years ago

因为微前端方案需要做成应用可插拔,所以产生了需要卸载路由的需求。

尝试使用stop方法卸载:

stateman 提供了 stop 方法,但是该方法只卸载了内部histery, 组件依然在内存中,所以组件的destroy方法不会触发, 导致应用无法卸载干净,对于全局对象的事件没能及时销毁。

所以希望能够提供一种能够销毁方案来销毁整个应用, 例如在 https://github.com/regularjs/regular-state/blob/master/src/client.js#L157 这里新增一个 destroy 的生命周期,并重载 stateman 的 stop 方法调用 destroy 实现。

leeluolee commented 4 years ago

整个应用指的是 卸载路由和销毁路由对应的View吗?

Qquanwei commented 4 years ago

是的,销毁路由监听,销毁所有组件。

leeluolee commented 4 years ago

周末改一下 @Qquanwei