」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何在 Angular 中使用 $on 和 $broadcast 進行事件通訊?

如何在 Angular 中使用 $on 和 $broadcast 進行事件通訊?

發佈於2024-11-08
瀏覽:232

How to Use $on and $broadcast for Event Communication in Angular?

Angular 中的事件通訊:$on 和$broadcast

在Angular 中,事件通訊對於協調應用程式不同部分之間的協調應用程式不同部分之間的互動至關重要。 $on 和 $broadcast 是核心 Angular 機制,可以跨元件有效地廣播和處理事件。

理解$on 和$broadcast

  • $on 和$broadcast
  • $broadcast:
  • 由作用域發出,通知其所有後代(子作用域)和作用域的父鏈特定事件。

$on: 由作用域註冊監聽從目前作用域、其父作用域或其子作用域廣播的特定事件。

在您的範例中實現事件通訊

在您的情況下,您希望頁尾控制器中的點擊事件觸發代碼掃描器控制器可以處理的事件。要實現這一點:
  • 1。廣播器 (footerController):
$scope.startScanner = function() {
    $rootScope.$broadcast('scanner-started');
}

在 footerController 中定義如下函數:

$scope.startScanner = function() { $rootScope.$broadcast('掃描器啟動'); }
  • 2.接收方(codeScannerController):
$scope.$on('scanner-started', function(event, args) {
    // Your logic here
});

使用$on監聽codeScannerController中的廣播事件:

$ scope.$on('scanner-started' ,函數(事件,參數){ // 這裡是你的邏輯 });
  • 其他功能:

您可以使用$broadcast('event-name', { any: {} } 廣播事件時傳遞參數).因此,您可以在接收者的事件處理程序中接收這些參數。

參考文檔:How to Use $on and $broadcast for Event Communication in Angular?

有關更多詳細信息,請參閱有關範圍的官方Angular 文件:https://docs.angularjs.org/api /ng/type/$rootScope.Scope

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3