IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AngularJS Discussion :

Passage de données d’une directive à un service


Sujet :

AngularJS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2014
    Messages : 162
    Par défaut Passage de données d’une directive à un service
    Bonjour.

    Après avoir changé trois ou quatre fois de méthode, je pense enfin tenir la bonne pour terminer mon projet ! 😃

    Cependant j’ignore encore s’il est possible de faire ce dont j’ai besoin. 😖

    J’aimerais faire passer des données d’un contrôleur à un service. (Oui c’est dans le titre. 😜)

    J’ai, dans ma page HTML, un formulaire dans lequel l’utilisateur doit choisir une valeur (pour une variable). Je récupère cette valeur dans une variable contenue dans mon contrôleur.
    Code AngularJS : Sélectionner tout - Visualiser dans une fenêtre à part
    vm.selectedRequest = {};
    Mais j’ai besoin qu’un service (et je ne peut pas changer le fait que ce soit un service parce que ce n’est pas moi qui ai écrit ce service ni défini l’architecture actuelle du projet 😐) reçoive cette variable et puisse en utiliser la valeur (avec un système de if…else).

    Est-il possible de réaliser cette opération ?

  2. #2
    Expert confirmé
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 419
    Par défaut
    Citation Envoyé par freddy1492 Voir le message
    J’aimerais faire passer des données d’un contrôleur à un service. (Oui c’est dans le titre. &#128540
    Non ton titre c'est "passage de données d'une directive à un service".

    Citation Envoyé par freddy1492 Voir le message
    J’ai, dans ma page HTML, un formulaire dans lequel l’utilisateur doit choisir une valeur (pour une variable). Je récupère cette valeur dans une variable contenue dans mon contrôleur.
    Pas exactement, en réalité la variable qui est dans ton formulaire est la variable de ton contrôleur. La nuance est de taille !

    Citation Envoyé par freddy1492 Voir le message
    Code AngularJS : Sélectionner tout - Visualiser dans une fenêtre à part
    vm.selectedRequest = {};
    Mais j’ai besoin qu’un service (et je ne peut pas changer le fait que ce soit un service parce que ce n’est pas moi qui ai écrit ce service ni défini l’architecture actuelle du projet &#128528 reçoive cette variable et puisse en utiliser la valeur (avec un système de if…else).

    Est-il possible de réaliser cette opération ?
    Tu injectes ton service dans ton contrôleur et tu affectes la variable correspondante dans ton service à la variable de ton contrôleur.

    Ou mieux, tu affectes l'instance de ton service directement à ton contrôleur et dans ta vue tu utilises directement la variable de ton service.

  3. #3
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2014
    Messages : 162
    Par défaut
    Re,

    merci pour ta réponse.

    Malgré mes recherches, je n’arrive pas à trouver comment instancier un service dans un contrôleur.

  4. #4
    Expert confirmé
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 419
    Par défaut
    Citation Envoyé par freddy1492 Voir le message
    Re,

    merci pour ta réponse.

    Malgré mes recherches, je n’arrive pas à trouver comment instancier un service dans un contrôleur.
    J'ai pas écrit instancier, j'ai écrit injecter !!! La nuance est très importante !!

    Regarde ce plunker.

    $scope, dataService, et modelService sont injectés dans le contrôleur ?

    Tu as fait les tutos du site officiel ?

  5. #5
    Membre très actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2014
    Messages : 162
    Par défaut
    Les tutoriels ne parlent que de templates à télécharger. (En tout cas ceux de cette page https://docs.angularjs.org/tutorial.)

    Sinon, j’ai tenté d’écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    angular
    		.module('kibana.controllers')
    		.controller('selectCtrl', selectCtrl);
     
    		function selectCtrl(dashboard) {
    // du code
    dashboard étant le nom de mon service, mais ça fait planter mon contrôleur.

    Peut-être faut-il que j’utilise $injector ?

    Ensuite, je ne sais pas si je peux écrire dans ma fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    vm.selectedRequest.valeur = dashboard
    et dans dashboard, écrire… je ne sais pas. Je ne peux pas écrire quelque chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    angular.module('myApp').value('modelService', []);
    parce que "mon" service à déjà une structure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     var module = angular.module('kibana.services');
     
      module.service('dashboard', function($routeParams, $http, $rootScope, $injector, $location,
        sjsResource, timer, kbnIndex, alertSrv
      )

  6. #6
    Expert confirmé
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 419
    Par défaut
    Les tutoriels ne parlent que de templates à télécharger. (En tout cas ceux de cette page https://docs.angularjs.org/tutorial.)
    Tu es certain de ça ?

Discussions similaires

  1. passage de données entre page
    Par flatron dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 27/01/2006, 13h50
  2. Java script + JSP : Passage de données
    Par Rastapwalu dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 12/12/2005, 15h58
  3. [C#] Winforms passage de données...
    Par T0xF0x dans le forum Windows Forms
    Réponses: 7
    Dernier message: 07/12/2005, 09h14
  4. Passage de données entre deux pages
    Par spica92 dans le forum ASP
    Réponses: 2
    Dernier message: 08/09/2005, 14h38
  5. [popup] passage de données de session
    Par Mister_FX dans le forum ASP
    Réponses: 4
    Dernier message: 23/08/2004, 17h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo