Я хотел бы использовать Semantic UI в моем приложении Angular2. Проблема в том, что я не могу найти параметр маршрутизатора, который изменяет имя по умолчанию класса "router-link-active". Мне нужно, чтобы он назывался просто "активным", чтобы меню отображалось правильно.
Как я понимаю, такой настройки не существует. Я видел его в Vue.JS, поэтому я ожидаю, что он тоже будет там. Это хорошая идея попросить разработчиков исправить это?
Итак. Нам нужно написать настраиваемую директиву, которая добавляет "активный" класс ко всем элементам DOM с классом "router-link-active", но у меня также есть некоторые проблемы.
Существует аналогичный вопрос, но ответ слишком сложный и не работает для меня. Поэтому я прочитал некоторую документацию и решил сделать что-то лучше:
commons.ts:
@Directive({
selector: '.router-link-active',
host: {'[class.active]': 'trueConst'} //just 'true' could also work I think...
})
export class ActiveRouterLinkClass {
trueConst: boolean = true; //...if 'true' works we don't need this
}
Затем я импортировал ActiveRouterLinkClass в свой main.component.ts и добавил его в список директив компонентов. К сожалению, теперь у меня есть эта ошибка: "ИСКЛЮЧЕНИЕ: Неожиданное значение директивы" undefined "в представлении компонента" Главная ". Пожалуйста, объясните, что я сделал неправильно!