将 ng-click 添加到 highcharts-ng 柱形图 xAxis 标签

Add ng-click to highcharts-ng column chart xAxis labels

我在 angular 应用程序中使用 highcharts-ng,当单击 xAxis 标签时,我需要 运行 一个函数,请参阅下面我添加到图表的类别和标签。

目前我可以向标签添加一个 onclick 并发出警报,但我无法让它与 angular 一起使用。

return "<a onclick='alert(1)'>" + this.value + "</a>";

http://pablojim.github.io/highcharts-ng/

此处为当前代码的工作示例。 http://jsfiddle.net/3gLr4vcu/

Angular 指令在调用 $compile 之前不会被处理,这通常在 Angular 插入模板时完成,例如指令和 ng-include。如果您自己修改 DOM,Angular 将不知道如何处理 HTML,除非您自己调用 $compile。 DOM被highcharts-ng修改后,需要这样调用$compile:

$compile(element)(scope)

理想情况下,您希望 element 成为尚未 $compiled 的元素(我不确定如果不是这种情况会发生什么)和 scope 是向上遍历 DOM 树时遇到的第一个范围。如果不需要范围层次结构,那么您可以将元素附加到 $rootScope。

您将需要注入 $compile(以及 $rootScope,如果您按照描述使用的话)。有关详细信息,请参阅 $compile documentation,其中还解释了 $compile 表达式的奇怪语法。如果你 post 你的完整代码,我可以告诉你在哪里放置 $compile 语句以及如何找到合适的范围来使用。

编辑:这是一个有效的 JSFiddle:http://jsfiddle.net/tsclaus/bpg4556c/