Rumah > hujung hadapan web > tutorial js > Cara Mengantara AngularJS dengan Kod Warisan

Cara Mengantara AngularJS dengan Kod Warisan

Patricia Arquette
Lepaskan: 2024-10-19 11:10:02
asal
463 orang telah melayarinya

How to Interoperate AngularJS with Legacy Code

Mengantaramukakan AngularJS dengan Kod Warisan

Mengintegrasikan AngularJS dengan aplikasi lama boleh memberikan cabaran disebabkan panggilan balik luaran yang perlu berinteraksi dengan rangka kerja Angular . Untuk menangani perkara ini, AngularJS menyediakan beberapa mekanisme untuk saling kendali.

Mengakses Perkhidmatan Sudut daripada Kod Luaran

Satu pendekatan adalah untuk mencipta perkhidmatan AngularJS dan mendedahkan kaedah penetap untuk mengemas kininya data. Kod warisan kemudiannya boleh memanggil kaedah ini melalui objek ExternalInterface AngularJS. Dalam perkhidmatan, fungsi setter harus mencetuskan acara menggunakan bas acara Sudut.

Merakam Acara daripada Perkhidmatan dalam Pengawal

Pengawal boleh melanggan acara yang dipancarkan oleh perkhidmatan. Untuk melakukan ini, mula-mula tentukan nama acara dalam perkhidmatan. Dalam pengawal, gunakan kaedah $scope.$on() untuk mendaftarkan pendengar acara yang akan menangkap acara dengan nama yang berkaitan dan melaksanakan sebarang kemas kini UI yang diperlukan.

Penghadan

Perlu ambil perhatian bahawa kemas kini terus kepada data perkhidmatan dari luar AngularJS mungkin tidak sentiasa mencetuskan kemas kini dalam paparan. Ini kerana AngularJS menggunakan mekanisme pengikatan data sehala. Untuk memastikan kemas kini ditunjukkan dalam paparan, sebarang perubahan data atau permohonan kaedah pada skop hendaklah dibalut dalam fungsi $apply() AngularJS.

Contoh

Yang berikut coretan kod menunjukkan cara menyediakan perkhidmatan dalam AngularJS dan mengaksesnya daripada aplikasi AS3 warisan:

<code class="javascript">angular.module('myApp').service('myService', function () {
  this.data = [];

  this.setData = function (data) {
    this.data.push(data);
    this.$emit('dataUpdated', data);
  };
});</code>
Salin selepas log masuk
<code class="as3">// in legacy AS3 code
ExternalInterface.call("myService.setData", data);</code>
Salin selepas log masuk

Dalam pengawal AngularJS:

<code class="javascript">$scope.$on('dataUpdated', function (event, data) {
  // update the UI with the received data
});</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Cara Mengantara AngularJS dengan Kod Warisan. 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