DOM准备好后如何在Angular Directive中注入html?

时间:2015-04-02 08:24:35

标签: javascript angularjs jquery-ui angularjs-directive

我有一个生成角度滑块的指令(使用jquery-ui)。我需要在滑块子项(<a>)中注入HTML代码。我的问题是我无法访问<a>子(我的托管元素),因为这是在整个页面准备就绪后生成的(可能是在我的链接函数之后触发了角度滑块模块)。

所以,在我的指令中,我有这个滑块:

<div ui-slider="yearsNumberSlider.options" ng-model="yearsNumberSliderValue.value"></div>

只有在DOM准备就绪后,我的托管元素(<a>)才可用,但是我的指令链接功能太晚,无法注入所需的HTML。

我应该使用$ watch或$ observe来查看上面的代码何时有一些内容,然后尝试在我的<a>子元素中注入我的HTML?

谢谢!

更新 我找到了一个解决方案,但我不确定是否是注入HTML代码的正确方法:

link: function(...){
...
$timeout(function() {
      element.find('a').append(myHTML);
});
}

1 个答案:

答案 0 :(得分:0)

在测试$(window).load之后,这似乎是我案例的解决方案:

link: function(...){
...
$timeout(function() {
  element.find('a').append(myHTML);
});
}