У меня есть директива, которая открывает всплывающее окно "". Пользователь может нажать «Никогда не показывать этот выигрыш», в котором будет храниться файл cookie, и в следующий раз всплывающее окно не будет отображаться. Проблема в том, что я не хочу, чтобы директива всегда отображалась в html, если это не было необходимо. На данный момент я просто делаю что-то вродеКак динамически добавлять директивы в html?
$("#popups-container").html($compile("<my-popup></my-popup>")($scope))
но это не так.
Есть ли какой-нибудь «угловой способ»?
В последнее время мне пришлось выполнять компиляцию '$ compile'. В этом случае я неоднократно добавлял и отделял элемент DOM, в зависимости от взаимодействия с пользователем, который является другим вариантом использования. Я предполагаю, что ваша директива проверяет наличие cookie - можете ли вы использовать это, чтобы скрыть свою директиву, возможно, используя шаблон 'ng-show' или' ng-hide' в шаблоне директивы? Это может помочь опубликовать некоторые из ваших директивных кодов. –
'ng-show' и' ng-hide' не препятствуют компиляции самой директивы. Они просто добавляют: 'display: none'. –
Правда, но я не предполагал, что это так. Я думал больше о том, как показывать или скрывать html в шаблоне директивы, в зависимости от настройки файла cookie, а не избегать компиляции. Для записи 'ng-switch' является хорошим предложением +1 –