如何使用angular $ on将变量传递给命名函数?

时间:2014-04-04 13:27:53

标签: javascript angularjs

我创建了以下监听器:

scope.$on('location', updateMap)

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

function updateMap(request){
...
}

我需要传递变量请求:

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

如何将变量请求传递给指定函数?

1 个答案:

答案 0 :(得分:2)

广播/发出事件的作用是向侦听器发送参数,所以:

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

或者如果你想用参数调用updateMap,你只需要在监听器函数中调用它:

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