recherche

Maison  >  Questions et réponses  >  le corps du texte

angulaire.js - Problèmes avec le contrôleur, le service et l'usine d'Angular

Si je partage une donnée avec plusieurs contrôleurs, dois-je enregistrer les données sur un contrôleur de niveau supérieur ou utiliser une usine pour enregistrer les données qui doivent être partagées ? Que se passera-t-il si j'utilise un service ?

怪我咯怪我咯2840 Il y a quelques jours583

répondre à tous(3)je répondrai

  • 为情所困

    为情所困2017-05-15 16:55:11

    Cette question dépend de la pertinence commerciale des données au niveau de votre périmètre lorsque vous utilisez les données.

    Fort, c'est-à-dire que vous êtes très sûr que lorsqu'une certaine portée l'utilise, vous pouvez certainement trouver une certaine portée parent en recherchant vers le haut, puis vous pouvez utiliser l'héritage de la portée pour la partager. Cependant, il est recommandé d'utiliser la syntaxe controller as pour donner à chaque contrôleur un espace de noms unique afin d'éviter la duplication d'objet. En fait, vous pouvez même sauvegarder ces données dans $rootScope pour les partager globalement (mais ce n'est pas recommandé, car plus le $rootScope est léger, mieux c'est), ou vous pouvez avoir un contrôleur global de haut niveau pour les sauvegarder. .

    Ce n'est pas fort, ce qui signifie que vous ne pouvez pas déterminer quand et où ces données seront utilisées, alors utilisez l'injection de dépendances. Pour les données pures, il est recommandé d'utiliser module.value (données variables) ou module.constant (données immuables). Bien sûr, vous pouvez également utiliser module.factory pour renvoyer un objet (c'est la même chose que module.value). module.service est souvent utilisé pour renvoyer un constructeur, que vous pouvez utiliser pour générer différentes instances d'objet (différentes des autres services singleton).

    En fait, module.value/constant/factory/service sont toutes des variantes (sucre syntaxique) de module.provider Lisez le chapitre sur l'injection de dépendances et les services dans la documentation officielle et vous comprendrez tout.

    répondre
    0
  • 滿天的星座

    滿天的星座2017-05-15 16:55:11

    Utiliser le service. Le service est généralement utilisé pour stocker des données. Factory est généralement utilisé pour appeler plusieurs services ~ ou renvoyer des méthodes. En fait, elles se ressemblent. Regarde ça ou ça

    répondre
    0
  • 滿天的星座

    滿天的星座2017-05-15 16:55:11

    En fait, je ne trouve aucune différence entre l'usine et le service. Si vous aimez l'objet js, choisissez le premier. Si vous aimez js oop, utilisez le service. . . Une traduction l'explique de cette façon.

    répondre
    0
  • Annulerrépondre