Javascript 获取Highcharts工具提示以返回角度指令?

Javascript 获取Highcharts工具提示以返回角度指令?,javascript,jquery,angularjs,highcharts,highcharts-ng,Javascript,Jquery,Angularjs,Highcharts,Highcharts Ng,我们正在尝试为Highcharts图形创建一些复杂的工具提示,这些提示将显示应用程序中的一些动态数据,但图形未显示这些数据,因此我认为最好的办法是为所有格式等创建一个角度指令,然后启用highcharts的useHTML:true属性以及自定义格式化程序函数。$compile()不会抛出错误 但是,当此代码运行时,工具提示仅将Object.Object显示为文本,而不是指令模板的内容。我是错过了什么,还是这不可能?下面是我们正在尝试的一个例子 tooltip: {

我们正在尝试为Highcharts图形创建一些复杂的工具提示,这些提示将显示应用程序中的一些动态数据,但图形未显示这些数据,因此我认为最好的办法是为所有格式等创建一个角度指令,然后启用highcharts的useHTML:true属性以及自定义格式化程序函数。$compile()不会抛出错误

但是,当此代码运行时,工具提示仅将Object.Object显示为文本,而不是指令模板的内容。我是错过了什么,还是这不可能?下面是我们正在尝试的一个例子

tooltip: {
                useHTML: true,
                formatter: function () {                        

                    return $compile("<pm-error-rate-tooltip ></<pm-error-rate-tooltip>")($scope);


                }
            }
工具提示:{
是的,
格式化程序:函数(){

return$compile(“您正在给格式化程序一个dom元素,它需要一个html字符串。将其转换回html是可行的,但这似乎是实现目标的一种低效方法。

格式化程序:函数(){
返回$compile(“”($scope).html();
}

我在这方面遇到了麻烦,我无法给出指令的参数。

返回$compile(“)
顺便说一句,指令范围还可以,唯一的问题是模板编译

//datacompliance
angular.module('myapp').directive('pmErrorRateTooltip', function() {
  return {
  scope:{test:'='},
  link:function($scope){
    console.log($scope)
  },
  restrict: 'E',
    template: '<b>{{test}}</b>'
  };
});
//数据遵从性
angular.module('myapp')。指令('pmErrorRateTooltip',function(){
返回{
作用域:{test:'='},
链接:功能($scope){
console.log($scope)
},
限制:'E',
模板:“{test}}”
};
});

我能够将其与参数一起使用。我从用户的答案中派生出了user2422856 jsfiddle来演示如何使用

我必须编译该指令,然后执行$scope.$digest(),最后使用.html()返回标记。如果不手动触发摘要,我无法找到如何执行此操作

$scope.test = "Dont work"
var toolTip = $compile("<pm-error-rate-tooltip test='test'></pm-error-rate-tooltip>")($scope);
$scope.$digest();
return toolTip.html();
$scope.test=“不工作”
变量工具提示=$compile(“”)($scope);
$scope.$digest();
返回toolTip.html();

以下是我尝试做的基本操作。指令本身起作用,但作为工具提示并不十分感谢您的回答。您能否详细解释一下为什么您认为这是低效的。我们实际上将创建大约20个需要显示的自定义工具提示,因此我认为至少为每个指令创建一个指令将有助于保持其整洁至少在代码方面…@EdRoper我关心的是您正在创建dom元素(您不需要)从html,然后将它们转换回html字符串。角度不是我的事,所以这可能是可以接受的开销。但是如何进行事件绑定?它只返回html字符串!@YogeshJagdale-我不理解你的问题。如果你有新问题,你应该作为问题而不是评论提问。@BarbaraLaird:在JSFIDLE,我们可以使用templateUrl而不是模板从单独的文件中获取html内容吗?我在使用templateUrl时无法获取html内容,但在工具提示中使用模板时获取html内容
//datacompliance
angular.module('myapp').directive('pmErrorRateTooltip', function() {
  return {
  scope:{test:'='},
  link:function($scope){
    console.log($scope)
  },
  restrict: 'E',
    template: '<b>{{test}}</b>'
  };
});
$scope.test = "Dont work"
var toolTip = $compile("<pm-error-rate-tooltip test='test'></pm-error-rate-tooltip>")($scope);
$scope.$digest();
return toolTip.html();