Angular 提供了兩種基本的事件通訊方法,$on 和$broadcast,它們允許應用程式中的元件進行通訊與彼此。了解這些方法的工作原理對於 Angular 應用程式中有效的事件處理至關重要。
$broadcast
當控制器中發生事件時,例如點擊footer.html 中的某個元素footerController,它可以使用$broadcast 廣播到應用程式的其他部分。此方法採用事件名稱和可選參數作為參數。
<code class="javascript">$rootScope.$broadcast('scanner-started');</code>
$on
其他元件可以使用 $on 訂閱這些事件。此方法採用事件名稱和回呼函數作為參數。當事件被廣播時,回呼函數會被觸發,提供對 $broadcast 傳遞的任何參數的存取。
<code class="javascript">$scope.$on('scanner-started', function(event, args) { // do what you want to do });</code>
範例
考慮需要 startScanner 事件的 codeScannerController開始掃描程式碼。 footerController 可以在點擊某個元素時觸發此事件。
<code class="javascript">// In footerController $scope.startScanner = function() { $rootScope.$broadcast('scanner-started', { any: {} }); } // In codeScannerController $scope.$on('scanner-started', function(event, args) { var anything = args.any; // do what you want to do });</code>
用法
$on 和 $broadcast 通常用於促進不同組件之間的通信,例如控制器、服務和指令。它們允許在整個應用程式中觸發和處理事件,從而實現鬆散耦合的設計。
以上是$on 和 $broadcast 如何在 Angular 中啟用事件通訊?的詳細內容。更多資訊請關注PHP中文網其他相關文章!