Как использовать Angular RouteReuseStrategy с Single-SPA
Я делаю демо на основе проекта coexisting-angular-microfrontends; там 3 приложения, вот так:
singleSpa.registerApplication(
'app1',
function () {
return System.import('app1');
},
function (location) {
return location.pathname.startsWith('/app1');
}
);
singleSpa.registerApplication(
'app2',
function () {
return System.import('app2');
},
function (location) {
return location.pathname.startsWith('/app2');
}
);
singleSpa.registerApplication(
'app3',
function () {
return System.import('app3');
},
function (location) {
return location.pathname.startsWith('/app3');
}
)
singleSpa.start();
Он отлично работает без использования RouteReuseStrategy, я могу правильно перемещаться между app1,app2,app3... При использовании RouteReuseStrategy в app1 также хорошо перемещаться внутри app1, и компоненты могут быть восстановлены. Но при переходе к app1 из app2 или app3 возникает ошибка, а затем компоненты app1 аварийно завершаются.
ошибка выглядит так:
Cannot reattach ActivatedRouteSnapshot created from a different route
Я пытаюсь удалить глобальную переменную RouteReuseStrategy и инициализировать ее в файле root-html, а затем использовать в app1, но результат тот же.
Итак, как использовать Angular RouteReuseStrategy с Single-SPA? Мне нужно повторно использовать компоненты app1 при переходе из других приложений.
СПАСИБО!