AngularJS等待标记加载到DOM中

时间:2015-08-19 17:12:23

标签: javascript angularjs

我通过angular指令将google图表添加到页面中,并且我想在它加载后创建的元素中添加一个属性。在尝试添加属性之前,确保元素存在的最佳方法是什么?

从环顾四周看来,我的指示似乎应该可行,但不会:

(2)

1 个答案:

答案 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);