2015-04-02 72 views
0

我有一个指令,正在生成一个角度滑块(使用jquery-ui)。我需要在滑块子内部注入HTML代码(<a>)。我的问题是,我无法访问<a>孩子(我的主机元素),因为这是在整个页面准备就绪后生成的(可能是在我的链接函数后触发角度滑块模块)。如何在DOM准备好时在Angular Directive中注入html?

所以,我的指令里面我有这个滑块:

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

只有在DOM准备好了,我的托管元素(<a>)可用,但为时已晚,我向链路功能注入所需的HTML。

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

谢谢!

UPDATE 我找到了一个解决办法,但我不知道,如果是注入我的HTML代码的正确方法是:

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

请显示您当前的代码 – eladcon 2015-04-02 08:32:55

+0

您的目录优先级是什么?你可以为你的指令设置比滑动指令低的优先级,这样你的指令就可以在slider指令后运行了 – Samir 2015-04-02 09:09:39

+0

@SamirDas具有优先级不起作用。 – Webdesigner 2015-04-02 11:29:28

回答

0

这似乎是对测试还$(window).load后,我的情况的解决方案:

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