angular.js - Angular的controller和service、factory的问题
怪我咯
怪我咯 2017-05-15 16:53:11
0
3
514

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

怪我咯
怪我咯

走同样的路,发现不同的人生

répondre à tous(3)
为情所困

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.

滿天的星座

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

滿天的星座

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.

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!