Как использовать Angular RouteReuseStrategy с Single-SPA - PullRequest
0 голосов
/ 28 мая 2020

Я делаю демо на основе сосуществующего проекта - 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 cra sh

ошибка выглядит следующим образом:

Cannot reattach ActivatedRouteSnapshot created from a different route

Я пытаюсь удалить глобальную переменную RouteReuseStrategy и инициализируйте его в файле root - html, затем используйте его в app1, но с тем же результатом.

Итак, как использовать Angular RouteReuseStrategy с Single-SPA? Мне нужно повторно использовать компоненты app1 при переходе из других приложений.

THX! ?

...