Afficher directement dans la vue, après chargement d'un service ou d'une factory.
Voilà, je cherche à faire quelque chose, mais je ne sais pas si c'est possible :
Je veux Charger les variables que l'on voit dans la vue directement à partir d'un service, ou d'une factory : Explication :
Pour l'instant voici ce qui fonctionne :
1. J'ai ma factory qui retourne le nombre 45645:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
.factory('getNombre', getNombre);
function getNombre() {
var instance = {
nombre: nombre
};
return instance;
function nombre() {
return 45645
};
// ... to be continued ...
}; |
2. Je joins donc cette factory à mon contrôleur comme ceci, pour pouvoir l'activer et y avoir accès :
Code:
1 2 3
|
.controller('nouveauCtrl', function($scope,categoriesService,getNombre) {}) |
3. Ensuite le gros problème est que ma vue HTML n'affiche pas directement mon nombre ! Elle est comme ça:
4. Pour que cela fonctionne, je dois encore écrire dans le contrôleur :
Code:
1 2
|
$scope.nb = getNombre.nombre(); |
Voilà, donc ma question c'est :
Comment faire pour ne pas avoir à écrire la ligne dans le controleur ?? Ca fait perdre un temps fou ! (La ligne $scope.nb = getNombre.nombre(); qui affecte la variable au $scope)
Est-ce que c'est le comportement normal de AngularJS ?
Moi ce que je voudrais, c'est charger ma factory, et que tous les "brackets" (exemple => {{maData}} s'alimentent automatiquement )à partir de la factory ! Est-ce possible ?
Admettons que j'ai 50 valeurs à charger dans ma factory, j'ai pas envie de taper 50 fois ça dans le controleur, c'est hyper "reloud":mouarf::
Code:
1 2 3 4
|
$scope.nombre1 = getNombre.nombre1();
$scope.nombre2 = getNombre.nombre2();
$scope.nombre3 = getNombre.nombre3(); |
J'ai essayé de nommer la variable comme ça dans ma vue( De la même façon que dans le service) :
Mais cela n'affiche rien