У меня есть форма, которая подключается к angular, используя ее для проверки. Я могу отображать сообщения об ошибках с помощью ng-show-директив:
<span ng-show="t3.f.needsAttention(f.fieldName)" ng-cloak>
<span ng-show="f.fieldName.$error.required && !f.fieldName.$viewValue">
This field is required.
</span>
</span>
.. где f
- форма, а t3
- пользовательская директива по форме, которая определяет, была ли попытка отправки, и содержит функции для проверки достоверности полей.
То, что я пытаюсь выполнить, - это отображать сообщения проверки в popover вместо этого. Либо bootstrap native popover, либо popover из UI Bootstrap, я загрузил оба. Я также могу рассмотреть AngularStrap, если это проще сделать с помощью этой библиотеки.
То, с чем я сейчас сталкиваюсь, - это природа всплывающих окон в целом - они автоматически просматриваются на основе пользовательских событий, таких как щелчок, мыши, размытие и т.д. Я хочу, чтобы показать и скрыть popover (s) на те же функции в атрибутах ng-show выше. Таким образом, когда выражение возвращает false, скройте его, и когда оно вернет true, покажите его.
Я знаю, что bootstrap имеет .popover('show') для этого, но я не должен сообщать angular что-нибудь о dom, поэтому я не уверен, как получить доступ к $(element).popover(), если это делается в пользовательской форме контроллера. Я что-то пропустил?
Обновление
Решение, упомянутое в повторном голосовании, по-прежнему показывает только popover на mouseenter. Я хочу заставить его отображать, как будто делаю $('#popover_id').popover('show')
.