我有类似的问题让Highcharts工具提示返回一个angular指令?但是我尝试使用定义了templateUrl的指令来创建一些复杂的工具提示,而不是使用内联模板。当我使用templateUrl时,html是异步加载的,当我使用它到工具提示格式化器时,它还没有加载。
我需要使用html模板,因为我需要定义一个tooltpip,它应该有可点击的导航按钮到其他网站,并为一个数据系列准备,也应该翻译和样式。
当您使用带有templateUrl
的指令调用$compile
时,内容不会更新,直到摘要循环运行。
因为你是在一个jQuery事件中(在Angular摘要周期之外),你需要手动触发一个$scope.$digest()
。
参见fork Plunker &代码片段如下:
tooltip: {
useHTML: true,
pointFormatter: function () {
var element = $compile('<chart-tooltip></chart-tooltip>')($scope);
$scope.$digest();
return element.html();
}
}
(还添加了缺失的useHTML: true
)