Tentei encontrar algumas informações básicas para AngularJS $rootScope.$broadcast
, mas a documentação do AngularJS não ajuda muito. Em palavras fáceis, por que usamos isso?
Além disso, dentro do modelo Hot Towel de John Papa, há uma função personalizada no módulo comum chamada $broadcast
:
function $broadcast() {
return $rootScope.$broadcast.apply($rootScope, arguments);
}
Eu não entendi o que isso está fazendo. Então, aqui estão algumas perguntas básicas:
1) O que $rootScope.$broadcast
fazer?
2) Qual é a diferença entre $rootScope.$broadcast
e $rootScope.$broadcast.apply
?
$rootScope.$broadcast.apply()
é usado porque se você deseja passar o arguments
objeto especial para outra função, você precisa usar apply()
(ao invés de call()
). Além do link de @ Blackhole para a página MDN em aplicar, você também pode verificar a entrada em arguments
.