решается даная задача:
При клике на пункт меню в дропдауне слева открывается модалка. Мне нужно в модалке подсветить тот пункт меню, по котором был клик в дропдауне.
На чистом JS я решал подобное через получение при клике значения дата-атрибута и потом выделял цветом элемент с таким же значением дата-атрибута в модалке.
Как это делать на Ангуляр?
При клике запоминать id пункта и стили по условию, что если у пункта такой же id, как сохранённый - применять класс
Тот же подход, как и я описал с дата-атрибутом. Но как прописать это запоминание значения при клике? Как при клика прочитать значение атрибута(любого)? Можете написать пример?
Заводишь свойство в классе selectedMenuItem, свойство-массив для пункта (элементы или строки, или жсоны с ид и тайтлом), в шаблоне ваяешь пункты меню через ngFor по этому массиву, навешиваешь на пункт (click) обработчик, в котором берешь ид из жсона (или индекс итерации, зависит от типа свойства-массива) и сохраняешь его в selectedMenuItem, через ngClass сличаешь ид текущего элемента и сохранённый в selectedMenuItem, чтобы проставить нужный класс
Сделал таким образом, всё работает как надо. Спасибо!
боже как сложно. Вы же делаете пункт меню. Нет ничего плохого в том чтобы сделать через фрагмент. А в компоненте модалки просто подписывайтесь на изменение фрагмента и всегда будет тот пункт выделен какой фрагмент в урле стоит так же сделано и в доке в урле. https://angular.io/guide/router#accessing-query-parameters-and-fragments
Обсуждают сегодня