Angular - использование конфигурации Root ({}) в loadChildren () для настройки модуля с отложенной загрузкой - PullRequest
1 голос
/ 23 января 2020

Я хочу, чтобы загруженный модуль настраивался. Теоретически, я хочу, чтобы модуль, который является его собственным большим приложением, получал некоторую конфигурацию. Чтобы показать / загрузить определенные элементы в зависимости от конфигурации, основное приложение отправляет вниз.

Я использовал это с другими модулями, но те, где не lazyLoaded. Я пытался и искал вокруг и не видел использования что-то вроде:

 children: [
      {
        path: 'application-module',
        loadChildren: () => import('@application-module').then(m => m.ApplicationModule.forRoot({
         foo:'bar'
        }))
      }
    ]

Это вообще возможно? Если я использую его, я получаю сообщение об ошибке error: Error: No NgModule metadata found for '[object Object]'. Это часто встречается, когда загружаемый модуль не определен.

Или я на неправильном пути, и для этого есть лучшее решение? Спасибо

1 Ответ

1 голос
/ 23 января 2020

Полагаю, вы можете попробовать одну вещь, потому что то, что вы делаете сейчас, не сработает. Причина в том, что loadChildren ожидает класс с декоратором @module.

Вы даете ему функцию stati c.

Что вы можете попробовать сделать, это сделать:

children: [
      {
        path: 'application-module',
        loadChildren: () => import('@application-module').then(m => { m.ApplicationModule.forRoot({foo: 'bar'}); return m.ApplicationModule; } )
    }))
      }
    ]

Я понятия не имею, будет ли это работать, хотя.

Другой вариант - go для службы или через маршрутизацию в маршруте получения lazyloaded модуля.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...