"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment parvenir à l'interopérabilité entre AngularJS et le code hérité

Comment parvenir à l'interopérabilité entre AngularJS et le code hérité

Publié le 2024-11-03
Parcourir:357

How to Achieve Interoperability Between AngularJS and Legacy Code

Interopérabilité entre AngularJS et le code hérité

Dans un scénario où AngularJS est intégré à une application héritée, il est nécessaire d'établir une communication entre le deux. L’un des défis réside dans l’exigence selon laquelle les rappels de l’application héritée doivent être joints à la fenêtre DOM. Cet article explique comment résoudre ce problème et faciliter une interaction efficace entre AngularJS et le code existant.

Pour activer les rappels existants, vous pouvez enregistrer une fonction dans l'objet window qu'AngularJS peut invoquer. Par exemple, dans AS3 :

ExternalInterface.call("save", data);

Cela invoquera la fonction suivante dans AngularJS :

window.save = function(data){
    // Update a service or dispatch an event
}

Pour distribuer un événement depuis l'application héritée qu'un contrôleur AngularJS peut écouter, il est recommandé d'utiliser un service. Cependant, la modification du service depuis l'extérieur d'AngularJS nécessite une attention particulière.

La solution consiste à tirer parti des capacités d'interopérabilité d'AngularJS. En accédant à la portée ou à l'injecteur d'un élément DOM, vous pouvez interagir avec l'application AngularJS. Par exemple :

angular.element(domElement).scope().$apply(function(){
  // Update angular model or invoke methods
});

En résumé, activer l'interopérabilité entre AngularJS et le code existant implique d'enregistrer des rappels dans l'objet window, d'utiliser des services pour faciliter la répartition des événements et d'exploiter les mécanismes d'interopérabilité d'AngularJS pour accéder à la portée et à l'injecteur depuis l'extérieur d'AngularJS. Cette approche permet une communication transparente entre les deux applications, facilitant l'intégration des technologies Web modernes avec les systèmes existants.

Déclaration de sortie Cet article est réimprimé à l'adresse : 1729304896. En cas d'infraction, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3