我通过angular指令将google图表添加到页面中,并且我想在它加载后创建的元素中添加一个属性。在尝试添加属性之前,确保元素存在的最佳方法是什么?
从环顾四周看来,我的指示似乎应该可行,但不会:
(2)
答案 0 :(得分:1)
个人在绘制图表时最简单的方法是将属性附加到SVG元素,然后你就会非常有棱角,因为你没有寻找元素。
另一种选择是创建一个控制器,然后创建一个需要该控制器的元素SVG的指令。然后当你有SVG作为该指令的子节点时,你的svg指令应该被调用。 (这是猜测我还没有尝试过)
<div controller-directive=".."><svg></svg></div>
当控制器作为父控件存在时,您的代码将拥有SVG。
或者您可以简单地调整代码,每隔100毫秒左右查找svg,直到找到它为止。
function addTabIndex () {
var svg = elem.find('svg');
if (svg.length != 0)
svg.attr({tabindex: -1});
else
$timeout(addTabIndex, 100);
}
$timeout(addTabIndex);