使用Highcharts和AngularJS处理x轴标签中的复选框输入

使用Highcharts和AngularJS处理x轴标签中的复选框输入,angularjs,highcharts,Angularjs,Highcharts,在我的应用程序中,我需要能够显示一些数据并选择一个或多个类别。这些类别是x轴标签,我已经修改了Highcharts的一个示例,以包含每个x轴标签的复选框输入 有关不使用AngularJS时的工作示例,请参阅 当我将标签格式化程序更改为 formatter: function() { return "<input type='checkbox' onchange='onChange(\"" + this.value + "\")'> " + this.value;; } 格式化程

在我的应用程序中,我需要能够显示一些数据并选择一个或多个类别。这些类别是x轴标签,我已经修改了Highcharts的一个示例,以包含每个x轴标签的复选框输入

有关不使用AngularJS时的工作示例,请参阅

当我将标签格式化程序更改为

formatter: function() {
  return "<input type='checkbox' onchange='onChange(\"" + this.value + "\")'> " + this.value;;
}
格式化程序:函数(){
返回“”+此.value;;
}
该事件将被忽略


那么,如何使用来自控制器的函数处理输入上的
onchange
事件呢?

格式化程序回调在控制器的作用域之外被调用,因此它无法访问
onchange()
。可能的解决方法是从dom元素获取范围

 formatter: function() {
      var query = "[ng-controller=appCtrl]";
      return "<input type='checkbox' onchange='angular.element(document.querySelector(\"" + query + "\")).scope().onChange(\"" + this.value + "\")'>" + this.value;
    }
格式化程序:函数(){
var query=“[ng controller=appCtrl]”;
返回“+”this.value;
}

示例:

谢谢你的回答。由于实际代码要复杂得多,所以使用它并不容易,但它为我提供了一些关于在哪里寻找可能的解决方案的句柄。