Warum verwenden wir $ rootScope. $ In AngularJS?

Versucht, einige grundlegende Informationen für AngularJS zu finden$rootScope.$broadcast, Aber die AngularJS-Dokumentation hilft nicht viel. In einfachen Worten, warum verwenden wir das?

Auch in John PapasHeißes Handtuch Vorlage gibt es eine benutzerdefinierte Funktion im allgemeinen Modul namens$broadcast:

function $broadcast() {
    return $rootScope.$broadcast.apply($rootScope, arguments);
}

Ich habe nicht verstanden, was das macht. Hier sind einige grundlegende Fragen:

1) Was macht$rootScope.$broadcast machen?

2) Was ist der Unterschied zwischen$rootScope.$broadcast und$rootScope.$broadcast.apply?