Angular 中的事件通訊:$on 和$broadcast
在Angular 中,事件通訊對於協調應用程式不同部分之間的協調應用程式不同部分之間的互動至關重要。 $on 和 $broadcast 是核心 Angular 機制,可以跨元件有效地廣播和處理事件。
理解$on 和$broadcast
$on: 由作用域註冊監聽從目前作用域、其父作用域或其子作用域廣播的特定事件。
在您的範例中實現事件通訊
在您的情況下,您希望頁尾控制器中的點擊事件觸發代碼掃描器控制器可以處理的事件。要實現這一點:$scope.startScanner = function() { $rootScope.$broadcast('scanner-started'); }
在 footerController 中定義如下函數:
$scope.startScanner = function() { $rootScope.$broadcast('掃描器啟動'); }$scope.$on('scanner-started', function(event, args) { // Your logic here });
使用$on監聽codeScannerController中的廣播事件:
$ scope.$on('scanner-started' ,函數(事件,參數){ // 這裡是你的邏輯 });您可以使用$broadcast('event-name', { any: {} } 廣播事件時傳遞參數).因此,您可以在接收者的事件處理程序中接收這些參數。
參考文檔:
有關更多詳細信息,請參閱有關範圍的官方Angular 文件:https://docs.angularjs.org/api /ng/type/$rootScope.Scope
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3