Я пытаюсь использовать директиву элемента (ограничивать: «E») для определения настраиваемого компонента. Вот мой page.html шаблон, который получает потянули в index.html через ng-view
директивы:Пользовательский директивный тег, не вызывающий директивный код, в angularjs 1.2.29
<eng-popup>This text appears, but is rendered in a span</eng-popup>
Угловое работает под управлением; index.html имеет ng-app="templatesApp"
директиву в теге тела и app.js настраивает модуль, как показано ниже:
var app = angular.module("templatesApp", ['ngRoute']);
Далее вдоль, в app.js У меня есть директива всплывающей определенная:
app.directive('engPopup', function() {
console.log("This console log does not trigger. I have tried 'eng-popup' as the directive's first parameter, but that doesn't work either.");
return {
restrict: 'E',
transclude: false,
template: '<div id="thisDoesNotEvenAppear"></div>'
};
});
проблема заключается в том, когда я смотрю на результирующей HTML компонента, это выглядит следующим образом:
<span class="ng-scope" jQuery110209261664696867675="7">This text should appear, surely</span>
</eng-popup class="ng-scope" jQuery110209261664696867675="8"><//eng-popup>
Поэтому у меня есть несколько вопросов:
Почему вызов анг-Всплывающее директива console.log
НЕ получить запускаемые?
Почему содержимое в теге eng-popup находится в span
?
И самое загадочное из всего, почему тег eng-popup начинается с тега END и заканчивается тегом с двумя слэшами?
Наконец, что я испортил, чтобы все это произошло?
EDIT
В соответствии с просьбой, вот Plunker. Похоже, проблемы пролетных и конечных тегов не происходит в этой упрощенной версии, но директива анг-всплывающее окно еще не срабатывает:
https://plnkr.co/edit/mVa6Mye5besJAtWihMWF?p=preview
RE-EDIT
Только в случае, если это все-таки решаем, вот последний Plunkr, с которым я смог собрать. Это не работает, что, по крайней мере, имеет общее с нашим реальным проектом. Не уверен, что это одна и та же проблема.
https://plnkr.co/edit/sJoYnYjqx9ZGIH0KhObC
Пожалуйста, добавьте плункер с заданной угловой версией –
Я удалил ngRoute в вашем файле plucker, так как u не определил зависимость. И добавил текст внутри шаблона, например.
Кажется, что работает в Plunkr (см. Мой комментарий к ответу Тора ниже). К сожалению, я не могу подражать всем файлам, которые мы используем в нашем реальном проекте на Plunkr. Точная проблема заключается в том, что при запуске в нашем проекте директива 'engPopup' не запускается, и появляются вышеописанные странности (eng-popup content в тегах span и тегах eng-popup, отображаемых неправильно - start == end tag и end tag имеет дополнительную косую черту. См. итоговый html-код, выше) – moosefetcher