Как использовать 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 при переходе из других приложений.

СПАСИБО!

0 ответов

Другие вопросы по тегам