我创建了以下侦听器:

scope.$on('location', updateMap)


这很好用,但是现在updateMap需要采用一个变量:

function updateMap(request){
...
}


我需要传递变量请求:

var request = {
    origin: origin,
    destination: new_destination,
    travelMode: google.maps.DirectionsTravelMode[attrs.type],
};


如何将变量请求传递给命名函数?

最佳答案

将参数发送给侦听器是广播/发出事件的工作,因此:

scope.$broadcast('location', request);
scope.$emit('location', request);


或者,如果要使用参数调用updateMap,则只需在侦听器函数中调用它即可:

scope.$on('location', function() {
 updateMap(request);
});

09-11 00:12