Добрый день!
Мне необходимо создать InjectionToken: переменную, которую я смогу инжектировать в мои компоненты. Есть замечательная документация, которая объясняет как это делается, но конкретно моего случая я не нашел. Либо не понял, что то он. :о)
Есть переменная routesRoot, с роутами приложения. Объявленная в модуле.
app.routes
export const routesRoot: Routes = [...роуты...]
app.module содержит такие строки:
import { routesRoot } from './app.routes';
{provide: 'ROUTES_TREE', useValue: routesRoot},
И все работает. Такое решение я написал с кондачка, не заглядывая в доки. Когда полез в документацию, то понял, что там несколько иной подход используют и решил сделать "как правильно". Получилось так:
app.module содержит такие строки:
import { routesRoot } from './app.routes';
export const ROUTES_TREE = new InjectionToken<Routes>('ROUTES_TREE');
{provide: ROUTES_TREE, useValue: routesRoot},
Все бы замечательно, только не работает. :о( Можете подсказать что именно не правильно?
Ошибка такая:
ERROR NullInjectorError: StaticInjectorError(AppModule)[ROUTES_TREE]:
StaticInjectorError(Platform: core)[ROUTES_TREE]:
NullInjectorError: No provider for ROUTES_TREE!
Спасибо.