> But couldn't we, using something like ga-map-event="contextmenu" ga-map-event-function="handler()"? 

Where would you have that? The handling of contextmenu map events is internal to the context menu directive. That's not something we want to expose to users of the context menu directive.