我正在使用一个用于将省略号放在文本溢出上的指令,称为“角度省略号”。如果文本有足够的空间,则省略号不适用...。我需要知道是否将省略号应用于某些文本。
查看指令的代码,我可以看到它的属性似乎与我要寻找的属性匹配-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
我想知道我是否可以从我的控制器访问这些属性中的任何一个,如果可以,怎么办?如果这很明显,请原谅我,但我对指令完全陌生...
记住中的“ JS” AngularJS
。
如果您可以通过元素id
或class
属性找到元素,那么您应该可以使用querySelector
和使用普通的javascript查询元素getAttribute
:
document.querySelector("#element-id").getAttribute('data-overflowed');
这不是一个完美的解决方案,因为在某些测试框架中,不能保证您具有document
接口(这就是Angular具有$document
包装器的原因),但是它可以满足您的需要(无需jQuery!)。如果通过ID或类名(而不仅仅是标记名)启用了jqLite
(由所使用angular.element
),那会更简单find
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句