Angular での $broadcast と $on を使用したブロードキャストとイベント処理
問題の理解
Angular のイベント処理は、コンポーネント間の通信の基本的な側面です。この特定のシナリオには、フッター コンポーネントでイベントをトリガーし、それをコード スキャナー コンポーネント内で処理することが含まれます。この質問では、$broadcast と $on を使用してこれを実現する方法について説明します。
イベントの発行に $broadcast を使用する
フッター コンポーネントのコントローラーでは、$rootScope を利用できます。イベント ブロードキャストの場合:
<code class="javascript">$scope.startScanner = function() { $rootScope.$broadcast('scanner-started'); }</code>
この行は、フッターのボタンがクリックされたときに「scanner-started」という名前のイベントを発行します。
イベント リスニングに $on を使用する
コード スキャナー コンポーネントのコントローラーでは、$scope を使用してブロードキャスト イベントをリッスンできます。
<code class="javascript">$scope.$on('scanner-started', function(event, args) { // Handle event });</code>
このイベント リスナーは、「スキャナー開始」イベントが発生するたびにトリガーされます。
$broadcast で引数を渡す
$broadcast メソッドを使用して、ブロードキャストされたイベントと一緒に引数を渡すことができます:
<code class="javascript">$rootScope.$broadcast('scanner-started', { any: {} });</code>
$on での引数の取得
渡された引数は、$on イベント リスナーで取得できます。
<code class="javascript">$scope.$on('scanner-started', function(event, args) { var anyThing = args.any; // Handle event });</code>
その他の考慮事項
以上がAngular の $broadcast と $on を使用してフッター コンポーネントでイベントをトリガーし、コード スキャナー コンポーネントでイベントを処理する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。