2016-04-03 93 views
0

我想更新表的td以使用自定義的angularjs指令。將表td元素設置爲自定義角度指令

我試圖td.innerHtml = "<my-directive></my-directive>"和myDirective的HTML是

<div>hi</div>

的指令代碼

replace: true,

當我檢查元素我有td.innerHtml = "<my-directive></my-directive>",而不是<div>hi</div>

如何更改選項卡使用自定義指令。

+1

如果你正在做的DOM操作使用的角度,你這樣做有問題。將「​​」'放在模板中有什麼問題? –

+0

不使用'$ compile'就不能注入指令標籤或屬性。讓棱角爲你使用指令的'template'或'templateUrl'屬性如前所述 – charlietfl

+0

謝謝。問題是我正在使用第三方控件(Hansontable)來創建像網格一樣的Excel。然後根據我對特定單元格的數據,我想將表格單元格(td)更改爲例如顯示圖表(在自定義指令中)或具有一種數據形式(在自定義指令等中)。 –

回答

0

角限制

角度無法出現的應用程序加載完畢,這樣做會導致應用程序中出現嚴重的性能問題DOM的變化做出反應。爲了解決這個問題,您應該將DOM更改限制爲在角度應用程序中發生的更改。

解決方法

如果因任何原因,你必須編輯DOM的角度範圍之外就可以編譯元素使用手動

$compile(html) 
+0

謝謝。我試過$ compile(html)($ scope)。當我檢查td元素時,我看到但不是myDirective的模板。 myDirective的控制器也未被調用。 –