2015-04-02 65 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); 
}); 
}