2016-04-03 90 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的控制器也未被调用。 –