Rumah > hujung hadapan web > tutorial js > Bagaimanakah Pengawal AngularJS Boleh Berkomunikasi Antara Satu Sama Lain?

Bagaimanakah Pengawal AngularJS Boleh Berkomunikasi Antara Satu Sama Lain?

Susan Sarandon
Lepaskan: 2024-12-04 19:38:16
asal
559 orang telah melayarinya

How Can AngularJS Controllers Communicate With Each Other?

Komunikasi Silang Pengawal AngularJS

Bolehkah satu pengawal AngularJS memanggil yang lain?

Ya, AngularJS menyediakan pelbagai mekanisme untuk pengawal berkomunikasi dengan setiap satu lain.

Berkongsi Perkhidmatan

Satu pendekatan berkesan ialah berkongsi contoh perkhidmatan antara pengawal:

angular.module('MyApp', [])
  .service('SomeDataService', function() {
    // Shared data or methods
  })

function FirstController(SomeDataService) {
  // Use the data service...
}

function SecondController(SomeDataService) {
  // Access the same data service instance
}
Salin selepas log masuk

Memancarkan Peristiwa pada Skop

Kaedah lain melibatkan pemancaran peristiwa pada skop:

function FirstController($scope) {
  $scope.$on('someEvent', function(event, args) {
    // Listen for the event
  });
}

function SecondController($scope) {
  $scope.$emit('someEvent', args);
  // Trigger the event
}
Salin selepas log masuk

Kaedah Komunikasi Tambahan

AngularJS juga menyokong:

  • Komunikasi Pengawal Ibu Bapa-ke-Anak: Menggunakan $scope .$parent
  • Komunikasi Pengawal Anak-ke-Ibu Bapa: Menggunakan $scope.$parent.$emit()
  • Komunikasi Rentas Pengawal melalui Root Scope: Menggunakan $rootScope.$broadcast() atau $rootScope.$emit()
  • Penyiaran Acara Tersuai: Menggunakan kaedah $broadcast dan $on Angular dalam pengawal atau arahan

Atas ialah kandungan terperinci Bagaimanakah Pengawal AngularJS Boleh Berkomunikasi Antara Satu Sama Lain?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan