Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 创建highcharts click函数时Angularjs范围丢失_Javascript_Angularjs_Highcharts - Fatal编程技术网

Javascript 创建highcharts click函数时Angularjs范围丢失

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

在使用Angularjs、Highcharts和Highcharts ng指令构建的图的节点上创建单击函数时,我遇到了范围界定问题

我遇到的问题是,我在单击函数中放置的任何角度指令或功能都不起作用

这是我问题的简化版本-

单击任意图形节点以查看正在调用的Click函数。单击关闭按钮应触发ng click事件,该事件加载一个显示警报的简单函数

这是我的单击函数生成的html:

<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));