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 :

parent et child controller


Sujet :

AngularJS

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    729
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 729
    Par défaut parent et child controller
    Bonjour,
    j'ai un petit soucis de $scope. En gros voici le schema

    j'ai une page html parent.html dont le contrôleur est parent.controller.js. Ils sont liés par un state 'search'

    Dans ma page parent.html, j'ai un include d'une autre page html child.html
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <ng-include src="child.html" ></ng-include>

    dans ma page child.html, j'ai à la première balise
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <div ng-controller="childController" >

    dans childController j'ai une variable $scope.showMinLengthMessage.

    Mon problème est que je veux changer cette dernière variable depuis parent.controller.js. Est-ce possible

    Je me demande aussi si le fait de définir une hierarchie de controlleur dans une page html du style
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <div ng-controller="controleur1">
    ........
         <div ng-controler="controleur2">
          ........
         </div>
    </div>

    fait que le scope dans controleur2 est est un scope enfant du scope de controleur1

    Merci d'avance pour votre réponse

  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
    Ce n'est pas de cette manière qu'on fait passer des données d'un contrôleur à un autre. On passe par un service.

    Ne jamais, jamais, jamais faire ou utiliser l'héritage de scope c'est un enfer à maintenir et faire évoluer.

    Ne jamais publier dans le scope des primitives, toujours passer par un littéral.

    Les directives ng-include et ng-controller sont également à bannir, il faut passer par des composants, et si on est contraint à rester à une version < 1.4 alors il faut utiliser des directives de type E comme des composants.

    j'ai une page html parent.html dont le contrôleur est parent.controller.js. Ils sont liés par un state 'search'

    Dans ma page parent.html, j'ai un include d'une autre page html child.html
    Non tu n'as qu'une seule page. Une application AngularJS est une SPA (Single Page Application).

    La lecture du ce style-guide de John Papa me semble nécessaire. Si tu n'es pas limité à ES5 (si tu as Babel sur ton projet par exemple), se référer plutôt au style guide de Todd Motto.

Discussions similaires

  1. parent et child
    Par ted00 dans le forum jQuery
    Réponses: 3
    Dernier message: 18/12/2010, 22h02
  2. [VS 2005] MouseEnter/MouseLeave & child controls
    Par Kropernic dans le forum Windows Forms
    Réponses: 7
    Dernier message: 15/02/2010, 12h41
  3. VS2008/VB MDIForms - accès objet du Parent depuis Child
    Par mdefermor dans le forum Visual Studio
    Réponses: 0
    Dernier message: 11/11/2009, 19h19
  4. Parent d'un controle
    Par androz dans le forum C++Builder
    Réponses: 2
    Dernier message: 26/08/2009, 21h37
  5. Userform: parent d un controle
    Par kepi dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/09/2007, 16h44

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