169 похожих чатов

Всем привет! На днях только начал изучать Ангуляр. Подскажите, как в Ангуляр

решается даная задача:
При клике на пункт меню в дропдауне слева открывается модалка. Мне нужно в модалке подсветить тот пункт меню, по котором был клик в дропдауне.
На чистом JS я решал подобное через получение при клике значения дата-атрибута и потом выделял цветом элемент с таким же значением дата-атрибута в модалке.
Как это делать на Ангуляр?

5 ответов

13 просмотров

При клике запоминать id пункта и стили по условию, что если у пункта такой же id, как сохранённый - применять класс

Yurii-Lukianovych Автор вопроса
Le KynoH
При клике запоминать id пункта и стили по условию,...

Тот же подход, как и я описал с дата-атрибутом. Но как прописать это запоминание значения при клике? Как при клика прочитать значение атрибута(любого)? Можете написать пример?

Yurii Lukianovych
Тот же подход, как и я описал с дата-атрибутом. Но...

Заводишь свойство в классе selectedMenuItem, свойство-массив для пункта (элементы или строки, или жсоны с ид и тайтлом), в шаблоне ваяешь пункты меню через ngFor по этому массиву, навешиваешь на пункт (click) обработчик, в котором берешь ид из жсона (или индекс итерации, зависит от типа свойства-массива) и сохраняешь его в selectedMenuItem, через ngClass сличаешь ид текущего элемента и сохранённый в selectedMenuItem, чтобы проставить нужный класс

Yurii-Lukianovych Автор вопроса
Le KynoH
Заводишь свойство в классе selectedMenuItem, свойс...

Сделал таким образом, всё работает как надо. Спасибо!

Yurii Lukianovych
Сделал таким образом, всё работает как надо. Спаси...

боже как сложно. Вы же делаете пункт меню. Нет ничего плохого в том чтобы сделать через фрагмент. А в компоненте модалки просто подписывайтесь на изменение фрагмента и всегда будет тот пункт выделен какой фрагмент в урле стоит так же сделано и в доке в урле. https://angular.io/guide/router#accessing-query-parameters-and-fragments

Похожие вопросы

Обсуждают сегодня

Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
База данных не поможет. Шифрование не поможет. Какие там ещё варианты? Накидывайте.
КТ315
20
А как лучше конвертировать физический адрес в виртуальный при маппинге? В случае ядра у меня, например, direct mapping, первые 768МБ я как есть мапплю в higher half, а остальн...
Evg Resh
26
А табстоп это сообщение от окна или от элемента управления?
The Bird of Hermes
18
Открыл свой двухкилобайтный экзешник в x32dbg, а тут какая-то хрень. Смущает кнопка "выполнить до пользовательского кода", а что ещё может быть в файле помимо него ?
НѣкъиⰘижєжєиꙁъвьсєсвѣтьноѣсѣтиѥсть•
11
Вопрос тем кто смотрит видео и слушает подкасты - как вы потом ищете нужную вам информацию? Вот статью я прочитал, потом могу искать нужную мне часть банальным поиском. Пропус...
Aleksandr Druzhinin
4
Мне были интересны дишные хаки и я нашёл любопытный способ на форуме через __traits, что-то вроде int delegate(int) fac = (int n) => n == 0 ? 1 : n * __traits(parent, {})(n - ...
Constantin F.
1
Всем привет, подскажите/посоветуйте пожалуйста. Фаердак компоненты, имею одно место где бизнес хочет видеть при открытии формы список всех клиентов, это порядка 30к. Мои дово...
Sasha Sch
14
Ребят, если кто в курсе - скажите, а в загранке такое же засилье маркетплейсов? или там простые сермяжные интернет-магазины живут попроще?
Андрей [aharito] Харитонов
14
@FAssembler ты много с формами работал, как цикл обработки сообщений от окошек надо делать, чтобы IsDialogMessage не ломал ввод в эдиты и навигация по табам работала?
The Bird of Hermes
8
Карта сайта