Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.03.2020, 10:45
Аспирант
Отправить личное сообщение для sniffysko Посмотреть профиль Найти все сообщения от sniffysko
 
Регистрация: 20.10.2009
Сообщений: 79

Правильно объявление InjectionToken
Добрый день!
Мне необходимо создать 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!

Спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 04.03.2020, 11:36
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

Хм... вообще я ошибки не вижу. Вот даже создал пример, всё работает https://stackblitz.com/edit/angular-.../app.module.ts
Пересобирите проект, проверьте файлы
Ответить с цитированием
  #3 (permalink)  
Старый 05.03.2020, 13:23
Аспирант
Отправить личное сообщение для sniffysko Посмотреть профиль Найти все сообщения от sniffysko
 
Регистрация: 20.10.2009
Сообщений: 79

Перепроверил. :о) Ошибка была в вызове внутри компонента. Спасибо большое запомощь!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как правильно организовать подключение скриптов? s24344 Общие вопросы Javascript 0 31.12.2018 11:53
Сортировка массива с объектами на javascript sergiu920 Элементы интерфейса 2 07.12.2018 09:47
Правильно вызвать массив biryukovm Элементы интерфейса 3 19.03.2018 13:31
как правильно обращаться к свойствам объект внутри самого объекта ? mitiya Общие вопросы Javascript 12 25.04.2015 21:18
Как правильно послать XML в POST запросе LowCoder AJAX и COMET 10 15.07.2009 23:20