Angular.js: рдХреНрдпрд╛ рд╕рднреА рдкреНрд░рд╕рд╛рд░рдгреЛрдВ рдХреЛ рдХреИрдкреНрдЪрд░ рдФрд░ рдХрдВрд╕реЛрд▓ рд▓реЙрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ?

рдХреЛ рдирд┐рд░реНрдорд┐рдд 29 рдЬрдире░ 2014  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: angular/angular.js

рдореИрдВрдиреЗ рдпрд╣реА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ:

$rootScope.$on("$broadcast", function ($event) {
    console.log("BROADCAST: " + $event.name);
});

рдХреНрдпрд╛ рдпрд╣ рдРрд╕рд╛ рдХреБрдЫ рд╣реИ (рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЛрдИ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрд╛) рдпрд╛ рдХрднреА рднреА рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдпрд╛ рдУрд╡рд░рд╣реЗрдб рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ рд╣реИ?

рдореЗрд░реА рд╕реЛрдЪ $route рдИрд╡реЗрдВрдЯ рдбреЙрдХреНрд╕ рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реБрдИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП $routeChangeSuccess ред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдХрд╣рддреЗ рд╣реИрдВ, рдпрд╣ рдРрд╕рд╛ рдХреБрдЫ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕рдХреЗ рдХрднреА рднреА рд▓рд╛рдЧреВ рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдУрд╡рд░рд╣реЗрдб рдХреЗ рдХрд╛рд░рдгред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдРрдк рдореЗрдВ рдПрдХ рдиреЛрдЯрд┐рдлрд╝рд╛рдпрд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рддрд╛рдХрд┐ рдЖрдк рдбреЗрдХреЛрд░реЗрдЯрд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдРрдк рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдмрдирд╛ рд╕рдХреЗрдВред

app.config(function($provide) {
  $provide.decorator("$rootScope", function($delegate) {
    var Scope = $delegate.constructor;
    var origBroadcast = Scope.prototype.$broadcast;
    var origEmit = Scope.prototype.$emit;

    Scope.prototype.$broadcast = function() {
      console.log("$broadcast was called on $scope " + $scope.$id + " with arguments:",
                         arguments);
      return origBroadcast.apply(this, arguments);
    };
    Scope.prototype.$emit = function() {
      console.log("$emit was called on $scope " + $scope.$id + " with arguments:",
                         arguments);
      return origEmit.apply(this, arguments);
    };
    return $delegate;
  });
});

рдпрд╣рд╛рдВ рдПрдХ рддреНрд╡рд░рд┐рдд рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: http://plnkr.co/edit/cn3MZynbpTYIcKUWmsBi?p=preview

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдХрд╣рддреЗ рд╣реИрдВ, рдпрд╣ рдРрд╕рд╛ рдХреБрдЫ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕рдХреЗ рдХрднреА рднреА рд▓рд╛рдЧреВ рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдУрд╡рд░рд╣реЗрдб рдХреЗ рдХрд╛рд░рдгред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдРрдк рдореЗрдВ рдПрдХ рдиреЛрдЯрд┐рдлрд╝рд╛рдпрд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рддрд╛рдХрд┐ рдЖрдк рдбреЗрдХреЛрд░реЗрдЯрд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдРрдк рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдмрдирд╛ рд╕рдХреЗрдВред

app.config(function($provide) {
  $provide.decorator("$rootScope", function($delegate) {
    var Scope = $delegate.constructor;
    var origBroadcast = Scope.prototype.$broadcast;
    var origEmit = Scope.prototype.$emit;

    Scope.prototype.$broadcast = function() {
      console.log("$broadcast was called on $scope " + $scope.$id + " with arguments:",
                         arguments);
      return origBroadcast.apply(this, arguments);
    };
    Scope.prototype.$emit = function() {
      console.log("$emit was called on $scope " + $scope.$id + " with arguments:",
                         arguments);
      return origEmit.apply(this, arguments);
    };
    return $delegate;
  });
});

рдпрд╣рд╛рдВ рдПрдХ рддреНрд╡рд░рд┐рдд рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: http://plnkr.co/edit/cn3MZynbpTYIcKUWmsBi?p=preview

рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдкреВрдЫ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдореЗрд▓рд┐рдВрдЧ рд╕реВрдЪреА , рдЖрдИрдЖрд░рд╕реА рдЪреИрдирд▓ рдпрд╛ stackoverflow рдПрдХ рдореБрджреНрджрд╛ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рддрдерд╛рдкрд┐ --- рдЗрд╕ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдмрдЧ рдЯреНрд░реИрдХрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╣реИред

рд╡рд╛рд╣, рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ред рдзрдиреНрдпрд╡рд╛рдж рдХреИрдЯрд▓рд┐рдиред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдиреЛрдЯ рдХрд┐рдпрд╛; рдореЗрд░реА рдЧрд▓рддреА

рдмреБрдзрд╡рд╛рд░, 29 рдЬрдирд╡рд░реА 2014 рдХреЛ, рдХреЗрдЯрд▓реАрди рдкреЙрдЯрд░ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдХреГрдкрдпрд╛ рдореЗрд▓рд┐рдВрдЧ рд╕реВрдЪреА рдкреВрдЫрдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ
рдЖрдИрдЖрд░рд╕реА рдЪреИрдирд▓ http://webchat.freenode.net/?channels=angularjs or
рд╕реНрдЯреИрдХрдУрд╡рд░рдлреНрд▓реЛ http://stackoverflow.com/questions/tagged/angularjs рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╣рд╛рд▓рд╛рдВрдХрд┐ --- рдпрд╣ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдмрдЧ рдХреЗ рд▓рд┐рдП рд╣реИ
рдирдЬрд╝рд░ рд░рдЦрдирд╛ред

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ Gi tHub рдкрд░ рджреЗрдЦреЗрдВhttps://github.com/angular/angular.js/issues/6043#issuecomment -33610626
.

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

tdumitrescu picture tdumitrescu  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

visnup picture visnup  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

butchpeters picture butchpeters  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

nosideeffects picture nosideeffects  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jpsimons picture jpsimons  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ