Na myśl przychodzi mi takie rozwiązanie (załóżmy, że menu ma klasę "menu")
window.addEventListener('click', function(e) {
var clickOutsideMenu = !e.target.matches('.menu, .menu *')
if (clickOutsideMenu) {
console.log('close menu')
}
})
Kwestia tylko zintegrowania tego kodu z angularem.