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

angular.js - Angular的controller和service、factory的问题

如果我多个controller共享一份数据,是在某个比较上层的控制器上保存数据,还是用factory保存这个需要共享的数据,如果用service会怎么样。

怪我咯怪我咯2688 Il y a quelques jours515

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