À mon avis, je veux rendre:Où placer les fonctions définies par l'utilisateur dans Angular JS?
<p>
{{ say() }}
</p>
Où say
est défini comme tel:
say = function() {
return "Hello World";
}
Je peux définir dans mon contrôleur:
function TestCtrl($scope) {
$scope.say = function() { ... };
}
Mais il est uniquement accessible dans ce contrôleur.
Si je définis la fonction en dehors de la structure de fichier Angular, il ne restitue rien. Idem si je le définis dans mon fichier controllers.js
, mais en dehors d'une portée de fonction de contrôleur.
Où est l'endroit approprié pour mettre ma fonction, donc je peux le rendre dans n'importe quel contrôleur?
Impressionnant ... Je m'attendais à ce qu'il soit dans les services, mais ne pouvait pas trouver la syntaxe pour l'ajouter –
Just FYI, une syntaxe alternative (je préfère voir/lire 'service' au lieu de 'usine' si j'ai seulement besoin d'une fonction constructeur): .service ('myService', function() { this.say = function() {return "Bonjour tout le monde";} }); –
Le "problème" avec un service approprié est que chaque fois que vous utilisez le service, vous obtenez une nouvelle instance de ce service. Dans ce cas, ce n'est peut-être pas la meilleure idée. – Spock