我在角度应用程序中使用highcharts-ng,我需要在点击xAxis标签时运行一个函数,请参阅下面我添加到图表中的类别和标签。
目前我可以在标签和警报上添加一个onclick,但是无法使用角度来实现这一点。
return "<a onclick='alert(1)'>" + this.value + "</a>";
http://pablojim.github.io/highcharts-ng/
此处的当前代码的工作示例。 http://jsfiddle.net/3gLr4vcu/
答案 0 :(得分:1)
在调用$ compile之前不会处理Angular指令,这通常在Angular插入模板时执行,例如指令和ng-include。如果您自己修改DOM,除非您自己调用$ compile,否则Angular不会完全了解HTML。在通过highcharts-ng修改DOM之后,您需要像这样调用$ compile:
$compile(element)(scope)
理想情况下,您希望元素成为尚未编译的元素(我不确定如果不是这种情况会发生什么),范围是在向上遍历DOM树时遇到的第一个作用域。如果不需要范围层次结构,则只需将元素附加到$ rootScope。
如果您按照描述使用它,您将需要注入$ compile(以及$ rootScope)。有关更多信息,请参阅$compile documentation,它还解释了$ compile表达式的奇怪语法。如果你发布完整的代码,我可以告诉你在哪里放置$ compile语句以及如何找到合适的范围来使用。
编辑:这是一个有效的JSFiddle:http://jsfiddle.net/tsclaus/bpg4556c/