Я обертываю плагин jQuery внутри директивы AngularJS. То, как я хотел бы назвать директиву, например,:Динамический идентификатор внутри шаблона AngularJS
<my-dialog data-trigger-id="myTriggerId">My dialog content...</my-dialog>
Внутри моего шаблона директивы выглядит следующим образом:
<button id="{{triggerId}}">Button text...</button>
Я придаю событие для плагина Jquery (где вы указываете триггер селектор) внутри функции ссылки моей директивы. Моя проблема заключается в том, что это работает, если я жёстко идентификатор кнопки внутри шаблона директивы, как это:
<button id="myTriggerId">Button text...</button>
Сгенерированного HTML выглядит отлично в браузере, это означает, что делает элемент с динамическими работами ид. Это просто, что плагин jQuery не может найти этот элемент, если я использую динамический идентификатор, но он работает с жестко кодированной версией. Я также искал компиляцию AngularJS, потому что это похоже на то, что плагин jQuery хочет инициализировать элемент еще не существует.
Есть ли у меня пропадание? Благодаря!
Редактировать: мне, наконец, удалось упростить его и создать пример jsfiddle. Если вы запустите этот пример, вы увидите в консоли, что этот элемент не существует в то время, когда я его регистрирую, но если вы проверите DOM, вы увидите, что он есть и имеет правильный идентификатор. Однако, если вы жестко зададите идентификатор в шаблоне (id = test вместо id = {{elemId}}), в консольном журнале будет показано, что один элемент может быть найден. Надеюсь, это поможет найти решение.
http://jsfiddle.net/a1nxyv8u/7/
Можете ли вы создать jsfiddle или предоставить код для своей директивы, чтобы мы увидели, что вы делаете. – thedoctor
Спасибо за ваш комментарий. Его, к сожалению, не с открытым исходным кодом, но я попытаюсь создать аналогичный пример. – Bay
Есть ли конкретная причина, по которой вы хотите использовать уникальный идентификатор вместо использования $ (element) .length? – Scottie