Я использую директиву для размещения многоточия при переполнении текста, называемой угловым эллипсисом. Если есть достаточно места для текста, угловое эллипсис не применяется .... Мне нужно знать, применяется ли многоточие к некоторому тексту или нет.AngularJS: Как получить доступ к атрибутам, определенным внутри директивы снаружи
Глядя в код директивы я могу видеть, что он имеет атрибут, который, кажется, соответствует тому, что я ищу - attribute.isTruncated:
compile: function(elem, attr, linker) {
return function(scope, element, attributes) {
/* State Variables */
attributes.isTruncated = false;
Это также, кажется, что-то подобное, установив «данных переполнена» атрибут элемента, как таким образом:
element.attr('data-overflowed', 'false');
Вот ссылка на код для директивы, это не слишком сложно или долго:
https://github.com/dibari/angular-ellipsis/blob/master/src/angular-ellipsis.js
Мне интересно, могу ли я получить доступ к любому из этих атрибутов из моего контроллера, и если да, то как? Простите меня, если это очевидно, но я совершенно новый для директив ...
Можете ли вы попробовать 'angular.element (element) .attr ('data-overflowed')'? – floribon
Предполагаю, вы имеете в виду, что внутренний элемент является идентификатором div? то есть. angular.element ('div-name'). attr ('data-overflowed')? Я попробовал это и получил ошибку: «Поиск элементов с помощью селекторов не поддерживается jqLite ' –