Можно ли использовать Angular ngIf без удаления элемента из DOM? - PullRequest
1 голос
/ 01 мая 2019

Я знаю, что некоторые из вас заденят этот вопрос, потому что я знаю, что то, о чем я спрашиваю, не является лучшей практикой. Тем не менее, я все равно спрошу и надеюсь свести к минимуму злоупотребления.

ngIf удаляет элементы из DOM, если условный оператор ложный. Есть ли параметр, флаг, параметр и т. Д., Которые будут изменять поведение ngIf, чтобы элементы оставались в DOM и устанавливали отображение: нет? Я не ищу обходной путь, как [скрытый], но я хочу знать, возможно ли изменить поведение * ngIf.

Я быстро (это ключевое слово) обновлял существующий проект jQuery. Этот проект использует методы ".toggle ()" для аккордеона. В рамках обновления элементы аккордеона теперь фильтруются с помощью ngIf. Поскольку код jQuery инициализирует аккордеоны при загрузке приложения, удаляя их с помощью ngIf, «неинициализирует» их.

Я использовал обходной путь для решения проблемы. Но мне все еще любопытно, доступна ли опция для изменения поведения ngIf.

1 Ответ

1 голос
/ 01 мая 2019

ngIf не имеет такого поведения.

Попробуйте ngStyle вместо:

[ngStyle]="{display: condition ? 'block' : 'none'}"
...