Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Mengintegrasikan Kawalan AngularJS dengan Kod Warisan yang Memerlukan Panggilan Balik Tetingkap DOM?

Bagaimana untuk Mengintegrasikan Kawalan AngularJS dengan Kod Warisan yang Memerlukan Panggilan Balik Tetingkap DOM?

Barbara Streisand
Lepaskan: 2024-10-19 10:34:29
asal
245 orang telah melayarinya

How to Integrate AngularJS Controls with Legacy Code Requiring DOM Window Callbacks?

Panggil AngularJS daripada Kod Legacy

Masalah:
Anda perlu menyepadukan kawalan AngularJS dengan Flex warisan aplikasi yang memerlukan panggilan balik dilampirkan pada tetingkap DOM.

Penyelesaian:

Untuk menghantar acara yang pengawal AngularJS boleh dengar dari luar rangka kerja, ikut langkah ini:

  1. Dapatkan Skop dan Penyuntik:

    • Gunakan angular.element(domElement).scope() untuk mendapatkan skop semasa untuk HTML elemen yang digunakan untuk mengemas kini aplikasi AngularJS.
    • Gunakan angular.element(domElement).injector() untuk mengakses penyuntik apl semasa.
  2. Dapatkan Perkhidmatan AngularJS:

    • Dari penyuntik, dapatkan perkhidmatan AngularJS yang ingin anda kemas kini.
  3. Gunakan Fungsi AngularJS:

    • Dalam AngularJS, bungkus sebarang kemas kini pada model atau kaedah penyeruan pada skop dalam $apply(function(){ ... }) untuk memastikan perambatan perubahan yang betul .

Contoh Penggunaan:

// Get the AngularJS scope and service
var scope = angular.element(document.getElementsByTagName('body')[0]).scope();
var service = scope.injector().get('myService');

// Invoke an AngularJS method
scope.$apply(function () {
  service.update();
});
Salin selepas log masuk

Nota Tambahan:

  • Perubahan pada model AngularJS atau seruan kaedah skop mesti dibalut dengan $apply().
  • Anda boleh menggunakan angular.element(domElement).controller() untuk mengakses pengawal AngularJS yang dikaitkan dengan elemen HTML.

Atas ialah kandungan terperinci Bagaimana untuk Mengintegrasikan Kawalan AngularJS dengan Kod Warisan yang Memerlukan Panggilan Balik Tetingkap DOM?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
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