Javascript 如何使用angular js在指令中给出click事件?

Javascript 如何使用angular js在指令中给出click事件?,javascript,angularjs,angularjs-directive,highcharts,angularjs-ng-repeat,Javascript,Angularjs,Angularjs Directive,Highcharts,Angularjs Ng Repeat,你能告诉我如何在指令中给出点击事件吗?我使用highchart.js(条形图)制作了一张图表。我想在该图表中显示click事件吗 我发现使用jquery时,他们会给出这样的指令。但是我们怎么能给出我们的指令呢?单击事件示例 我们如何给出click事件输入输出指令? 这是我的密码 .directive('chart',function(){ 返回{ 限制:'E', 模板:“”, 范围:{ 图表数据:“=值”, chartObj:“=?” }, 是的, 替换:正确, 链接:函数($scope、$

你能告诉我如何在指令中给出点击事件吗?我使用highchart.js(条形图)制作了一张图表。我想在该图表中显示click事件吗

我发现使用jquery时,他们会给出这样的指令。但是我们怎么能给出我们的指令呢?单击事件示例

我们如何给出click事件输入输出指令? 这是我的密码

.directive('chart',function(){
返回{
限制:'E',
模板:“”,
范围:{
图表数据:“=值”,
chartObj:“=?”
},
是的,
替换:正确,
链接:函数($scope、$element、$attrs){
//图表数据更改时更新
$scope.$watch('chartData',函数(值){
如果(!值)
返回;
//如果chartData.chart尚不存在,请启动它
$scope.chartData.chart=$scope.chartData.chart |{};
//如果给定设置中未指定任何内容,请使用默认值
$scope.chartData.chart.renderTo=$scope.chartData.chart.renderTo | | |$element[0];
如果($attrs.type)
$scope.chartData.chart.type=$scope.chartData.chart.type | |$attrs.type;
如果($attrs.height)
$scope.chartData.chart.height=$scope.chartData.chart.height | |$attrs.height;
如果($attrs.width)
$scope.chartData.chart.width=$scope.chartData.chart.type | |$attrs.width;
$scope.chartObj=新的Highcharts.Chart($scope.chartData);
});
}
};
})

对不起。这是你问题的解决办法。如果您正在使用库,那么它们应该在angular中为您提供回调或任何其他可选函数

如果没有找到,并且找到了jquery,则可以使用相同的jquery代码在angular中使用相同的jquery功能

如何使用Angular:-(?在Angular中,使用了指令

代码如下:

Html

为您工作:


在jquery示例中,您直接传递函数,如下所示

click: function () {
                     alert('Category: ' + this.category + ', value: ' + this.y);
                   }
但在这个示例中,您将作为JSON字符串传递,因此它无法解析函数

"events": {
               "click": "function () {alert('Category: ' + this.category + ', value: ' + this.y)}"
}

因此,在您的angular示例中,像在jquery示例中一样直接传递输入。然后,您的代码将工作。

请提供plunker谢谢您的回答,但它在我的plunker中不工作。为什么?您在单击时使用元素。这里的元素是整个图表。因此,当您单击图表时,整个图表将被单击。您需要找到一个回调函数。而不是在指令中混合使用angular和jquery。按照他们解释的方式使用普通jquery。要传递数据,请使用angular Model,您将angular和jquery混合使用就是为了得到这个。像他们说的那样使用普通jquery。或者问他们如何使用highcharts的回调函数。因为它是付费版本,我无法进一步检查。
    .directive("directiveName", [function () {
        return {
            restrict: "A",
            link: function ($scope, $element, $attributes) {
             var char=$attributes.id;

             $("#"+char).highcharts({
            chart: {
                type: 'column'
            },
            xAxis: {
                categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
            },

            plotOptions: {
                series: {
                    cursor: 'pointer',
                    point: {
                        events: {
                            click: function () {
                                alert('Category: ' + this.category + ', value: ' + this.y);
                            }
                        }
                    }
                }
            },

            series: [{
                data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
            }]
        });
            }
        }
    }]);
click: function () {
                     alert('Category: ' + this.category + ', value: ' + this.y);
                   }
"events": {
               "click": "function () {alert('Category: ' + this.category + ', value: ' + this.y)}"
}