Javascript AngularJS传单指令:事件不起作用

Javascript AngularJS传单指令:事件不起作用,javascript,angularjs,leaflet,angular-leaflet-directive,Javascript,Angularjs,Leaflet,Angular Leaflet Directive,我正在使用AngularJS传单指令。我正在尝试使用事件来显示上下文菜单。我正在使用以下链接中的指南 但它不起作用 虽然我可以在控制台上看到日志,但我无法看到我想要看到的任何警报 这是我的控制器的代码。无论我尝试使用contextmenu或单击哪个事件,它对我都不起作用 (function(){ var baseMapController = function($scope, $http, leafletData, Base64, leafletMapEvents) { angula

我正在使用AngularJS传单指令。我正在尝试使用事件来显示上下文菜单。我正在使用以下链接中的指南

但它不起作用

虽然我可以在控制台上看到日志,但我无法看到我想要看到的任何警报

这是我的控制器的代码。无论我尝试使用contextmenu或单击哪个事件,它对我都不起作用

 (function(){

var baseMapController = function($scope, $http, leafletData, Base64, leafletMapEvents) {
    angular.extend($scope, {
        berlin: {
            lat: 40.726468,
            lng: -74.005639,
            zoom: 14
        },
        markers: {
            m1: {
                lat: 52.52,
                lng: 13.40
            }
        },
        layers: {
            baselayers: {
                googleTerrain: {
                    name: 'Google Terrain',
                    layerType: 'TERRAIN',
                    type: 'google'
                },
                googleHybrid: {
                    name: 'Google Hybrid',
                    layerType: 'HYBRID',
                    type: 'google'
                },
                googleRoadmap: {
                    name: 'Google Streets',
                    layerType: 'ROADMAP',
                    type: 'google'
                }
            }
        },
         events: {
            map: {
                enable: ['zoomstart', 'contextmenu', 'drag', 'click', 'mousemove', 'popupopen'],
                logic: 'broadcast'
            }
        },
        defaults: {
            scrollWheelZoom: false
        },
        geojson:{}
    });


   $scope.$on('leafletDirectiveMap.click', function(event){
        alert("Click");
    });

    // Mouse over function, called from the Leaflet Map Events
    var countryMouseover = function (feature, leafletEvent) {
        var layer = leafletEvent.target;
        layer.setStyle({
            weight: 2,
            color: '#666',
            fillColor: 'white'
        });
        layer.bringToFront();
    };

    $scope.$on("leafletDirectiveGeoJson.mouseover", function(ev, leafletPayload) {
        countryMouseover(leafletPayload.leafletObject.feature, leafletPayload.leafletEvent);
    });     
};

baseMapController.$inject = ['$scope', '$http', 'leafletData', 'Base64', 'leafletMapEvents'];

 }());
这就是我在浏览器控制台上看到的


不同之处在于,您的事件不是FlookeDirectiveMap.event,而是FlookeDirectiveMap.map.event,因此请尝试$scope.$on('FlookeDirectiveMap.map.click',函数(事件){alert(“click”);});靶心。非常感谢。@stackg91现在我可以捕捉到这些事件了。你知道如何显示关联菜单并设置其内容吗?你是说“弹出”吗?我是指关联菜单弹出。