Javascript 创建highcharts click函数时Angularjs范围丢失
在使用Angularjs、Highcharts和Highcharts ng指令构建的图的节点上创建单击函数时,我遇到了范围界定问题 我遇到的问题是,我在单击函数中放置的任何角度指令或功能都不起作用 这是我问题的简化版本- 单击任意图形节点以查看正在调用的Click函数。单击关闭按钮应触发ng click事件,该事件加载一个显示警报的简单函数 这是我的单击函数生成的html:Javascript 创建highcharts click函数时Angularjs范围丢失,javascript,angularjs,highcharts,Javascript,Angularjs,Highcharts,在使用Angularjs、Highcharts和Highcharts ng指令构建的图的节点上创建单击函数时,我遇到了范围界定问题 我遇到的问题是,我在单击函数中放置的任何角度指令或功能都不起作用 这是我问题的简化版本- 单击任意图形节点以查看正在调用的Click函数。单击关闭按钮应触发ng click事件,该事件加载一个显示警报的简单函数 这是我的单击函数生成的html: <div ng-controller="myctrl"> <button ng-click="c
<div ng-controller="myctrl">
<button ng-click="closeDrillDown()">Close</button>
<h2>Positive Sentiment</h2>
<p class="drillDownInfo"><strong>20%</strong> of posts where we can determine a sentiment are Positive</p>
</div>
highcharts ng指令的作者在下面的线程中提到“这些事件(单击函数)将不在角度世界中,因此您需要使用apply或类似的函数来包装它们。”
所以我的问题是:如何让我的highcharts click函数访问Angularjs?我曾尝试使用$scope。$apply(),但我对角度的这一方面的有限知识没有给我任何结果。如上述评论所述,这个问题的解决方案如下:
var content='Close'+this.category+''+this.series.name+''+
“”+this.y+”%我们可以确定情绪的帖子是“+this.category+”
”;
$('#myCtrl')。追加($compile(content)($scope));
需要注意的部分是我们使用$compile()的地方。这会将生成的html放到Angularjs上下文中。试试这个哇,谢谢!我想这已经给了我足够的信息,可以从这里继续下去。也许不用触发ng click,而是使用jquery并运行一个函数。嗨,Sebastian,这对我来说不是一个真正的选项,因为我想在单击功能中使用角度功能(我只介绍了一种解决方法;)
$scope.closeDrillDown = function() {
alert('function works');
};
var content = '<div id = "postListPopUpContainer"><div id = "postListPopUp"><div><button ng-click="closeDrillDown()">Close</button><h2>' + this.category + ' ' + this.series.name + '</h2>' +
'<p class="drillDownInfo"><strong>' + this.y + '%</strong> of posts where we can determine a sentiment are ' + this.category + '</p></div></div></div>';
$('#myCtrl').append($compile(content)($scope));