Maison > interface Web > js tutoriel > le corps du texte

Pourquoi est-ce que j'obtiens l'erreur \'$injector:modulerr\' lors de ma migration AngularJS vers la version 1.3 ?

DDD
Libérer: 2024-11-01 00:10:02
original
717 Les gens l'ont consulté

Why Am I Getting the

Erreur Angularjs : [$injector:modulerr] lors de la migration vers la V1.3

Dans Angularjs, l'erreur [$injector:modulerr] indique un problème de dépendance de module, en particulier lors de la migration des versions antérieures vers la V1.3.

Code Angularjs pré-V1.3 :

<code class="html"><body>
  <div ng-controller="Ctrl">
    ...
    <script>
      var Ctrl = function($scope) {
        ...
      };
    </script>
  </div>
</body></code>
Copier après la connexion

Post -V1.3 Code Angularjs :

<code class="html"><body ng-app="app">
  <div ng-controller="Ctrl">
    ...
  </div>
  <script>
    function Ctrl($scope) {
      ...
    }

    angular.module('app', [])
      .controller('Ctrl', ['$scope', Ctrl]);
  </script>
</body></code>
Copier après la connexion

Modifications avec la V1.3 :

  • Déclaration globale du contrôleur désactivée : Après Angularjs V1.3, les fonctions globales du contrôleur ne peuvent plus être déclarées en dehors d'un module. Au lieu de cela, les contrôleurs doivent être enregistrés dans un module.
  • Directive ng-app requise : La directive ng-app doit être présente sur l'élément racine pour démarrer l'application Angularjs.

Solution :

  1. Créez un module Angularjs : Utilisez angulaire.module() pour définir un module nommé 'app'.
  2. Enregistrer le contrôleur dans le module : Appelez .controller() sur le module pour définir un contrôleur nommé « Ctrl » avec les dépendances appropriées et la fonction de contrôleur.
  3. Ajoutez ng-app à l'élément racine : Assurez-vous que l'élément HTML racine possède l'attribut ng-app.

Remarques supplémentaires :

  • Il est recommandé d'utiliser la dernière version d'Angularjs (1.6 ou supérieure) pour des raisons de stabilité et de sécurité.
  • Si vous devez prendre en charge les déclarations globales du contrôleur, vous pouvez utiliser angulaire.config().allowGlobalScoping(). Cependant, ce n'est pas la meilleure pratique.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!