我有类似的问题 获取 Highcharts 工具提示以返回角度指令?。 但我尝试使用定义了 templateUrl 的指令创建一些复杂的工具提示,而不是使用内联模板。当我使用 templateUrl 时,html 会异步加载,而当我将其用于工具提示格式化程序时,它尚未加载。
我需要使用 html 模板,因为我需要定义一个工具提示,它应该有可点击的导航按钮到其他网站并为一个数据系列做好准备,还应该进行翻译和样式设置。
当您使用带有
$compile
的指令调用 templateUrl
时,内容不会更新,直到摘要周期运行。
由于您处于 jQuery 事件中(在 Angular 摘要周期之外),您需要手动触发
$scope.$digest()
。
参见分叉的 Plunker 和下面的片段:
tooltip: {
useHTML: true,
pointFormatter: function () {
var element = $compile('<chart-tooltip></chart-tooltip>')($scope);
$scope.$digest();
return element.html();
}
}
(还补充了缺失的
useHTML: true
)