首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >elementClick事件不是在角nvd3 3图中触发的。

elementClick事件不是在角nvd3 3图中触发的。
EN

Stack Overflow用户
提问于 2016-10-22 10:31:18
回答 2查看 458关注 0票数 0

我正在使用角-nvd3 3绘制饼图。

代码语言:javascript
复制
<nvd3 options="options.chart.options" data="options.chart.data" api="options.chart.api" config="config" events="events"></nvd3>

Javascript

代码语言:javascript
复制
$scope.options.chart = {
    options: {
        chart: {
            type: 'pieChart',
            height: 500,
            margin: {
                top: 0,
                right: 40,
                bottom: 80,
                left: 40
            },
            x: function(d) {
                return d.key;
            },
            y: function(d) {
                return d.y;
            },
            showLabels: true,
            duration: 1500,
            labelThreshold: 0.01,
            showLegend: true,
            lines: {
                dispatch: {
                    elementClick: function(e) {
                        console.log('click')
                    },
                    elementMouseover: function(e) {
                        console.log('mouseover')
                    },
                    elementMouseout: function(e) {
                        console.log('mouseout')
                    }
                }
            }
        }
    },
    data: [{
        key: "One",
        y: 5
    }, {
        key: "Two",
        y: 2
    }, {
        key: "Three",
        y: 9
    }, {
        key: "Four",
        y: 7
    }, {
        key: "Five",
        y: 4
    }, {
        key: "Six",
        y: 3
    }, {
        key: "Seven",
        y: .5
    }],
    api: {}
};

我需要调用一个事件,当用户点击饼chart.But时,上面的代码是不是working.Please帮助我的?

EN

回答 2

Stack Overflow用户

发布于 2016-10-22 10:59:44

基本上,您在angularjs中使用第三方库以满足您的需求,因此对第三方的任何更改都应该反映在您自己的范围内,因此您应该使用$scope.$apply()。

代码语言:javascript
复制
 elementClick: function(e) {
                    $scope.$apply();
                    console.log('click')
                }

我希望这对你有帮助。)

票数 0
EN

Stack Overflow用户

发布于 2018-12-28 17:15:30

我只是在你的javascript代码中替换这个

代码语言:javascript
复制
lines: {
    dispatch: {
        elementClick: function(e){
            $scope.$apply();
            console.log('click')
        },
        elementMouseover: function(e){
            $scope.$apply();
            console.log('mouseover')
        },
        elementMouseout: function(e){
            $scope.$apply();
            console.log('mouseout')
        }
    }
}

使用

代码语言:javascript
复制
pie: {
    dispatch: {
        elementClick: function(e){
            $scope.$apply();
            console.log('click')
        },
        elementMouseover: function(e){
            $scope.$apply();
            console.log('mouseover')
        },
        elementMouseout: function(e){
            $scope.$apply();
            console.log('mouseout')
        }
    }
}

正如你所期望的那样。参考网址:在pieChart行上写入单击事件句柄函数

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40191085

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档