8
votes

Utilisation de NG-APP sans valeur

Habituellement, vous voyez Initialisé angulaire sur une page avec une directive comme ng-app = "myModule" , mais il est valide pour simplement utiliser ng-app . Toutefois, comme des choses comme des contrôleurs sont enregistrées avec myModule , est-ce qui est déjà utile pour tout simplement utiliser ng-app ? Existe-t-il un moyen d'enregistrer les contrôleurs, etc. Si vous ne spécifiez pas de module sur ng-app = "..." ?


0 commentaires

3 Réponses :


0
votes

Lire le premier exemple https://docs.angularjs.org/api/ng/ Directive / NgApp

Dans l'exemple ci-dessous si la directive NGAPP n'a pas été placée sur l'élément HTML, le document ne serait pas compilé, l'AppController ne serait pas instancié et le {A + B}} ne serait pas être résolu à 3. xxx

éditer: Vous ne pouvez pas (non recommandé) enregistrez un contrôleur si vous ne spécifiez pas votre application NG. Si vous écrivez simplement NG-APP ou NG-APP = "", vous obtiendrez simplement des fonctions angulaires de base pour fonctionner, comme ce produit: http://www.w3schools.com/angular . Ainsi, l'objectif de NG-APP est de spécifier quel module vous parlez lorsque vous enregistrez des contrôleurs.


0 commentaires

4
votes

avant l'angulaire 1.3 (lorsque vous pouvez définir des contrôleurs sur la portée globale), Angular a été capable de découvrir automatiquement les contrôleurs définis dans le monde entier.

à partir de 1,3 angulaire, tous les contrôleurs doivent être définis dans un module et Ainsi, vous obtiendrez une fonctionnalité très limitée sur un ng-app code> sans module. Cela pourrait potentiellement être bénéfique pour le prototypage, mais même là, vous n'allez pas avoir beaucoup. P>

SO, UTILISATION PRE-Angular 1.3: P>

<script>
    function SomeController($scope) {
        $scope.something = "Hello";
    }
</script>


0 commentaires

0
votes

Pour être clair, la directive NGAPP dans AngularJs vous permet d'utiliser une application Auto Bootstrap une application angularjs en désignant automatiquement l'élément racine de l'application dans votre étiquette de votre corps / HTML via une initialisation DOM. Vous pouvez également avoir plus de contrôle sur ce processus d'initialisation par «bootstrapping» manuellement de votre application via angular.bootstrap, ainsi que des applications d'angularjs multiples multiples (aussi longtemps que vous ne les nichez pas). La séparation principale est que vous devez utiliser un processus ou l'autre, ce qui signifie NG-APP ou Angular.bootstrap séparément, ce que j'espère être évident car vous ne voudrez pas remplacer les initialisations.

Un regard plus en profondeur de ce processus peut être vu ici: Guide de développeur Angularjs: Bootstrap

maintenant qu'est-ce que tout cela signifie dans son contexte à votre question? L'initialisation de l'application NG n'autorise qu'une seule instance par page, ce module d'un seul élément HTML; Alors que Angular.Bootstrap vous donne cette fonctionnalité encore manuellement. La vraie magie serait si vous pouviez utiliser NG-App comme angular.bootstrap; Donc, dans ce cas, vous pouvez regarder NGMODULE.

Je voudrais faire référence à un article qui m'a aidé à mieux comprendre comment je peux tirer parti de NGModule comme NGAPApp, mais vous devez noter que même si vous utilisez NGMODULE, vous profitez continuellement de la fonctionnalité qui imite NgApp et l'étend. Par conséquent, vous pouvez conclure que la fonctionnalité qui restera sera une initialisation de l'application DOM via la méthode x ... si vous vous déployez ou non à l'aide de NGAPP, vous devrez toujours gérer la grande image.

Faites-moi savoir si cela a aidé, ou du moins vous indiquer dans une direction que vous pouvez suivre.


0 commentaires