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

Flex Discussion :

Fonction init [Flex4]


Sujet :

Flex

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 60
    Par défaut Fonction init
    Bonjour,

    J'aimerais utiliser une fonction init() qui m'initialiserais certain composants de mon application mais voilà le soucis c'est que je ne comprend pas bien comment cette fonction fonctionne, elle est appelé comment et quand?

    Merci d'avance pour vos réponse

  2. #2
    Membre confirmé
    Homme Profil pro
    Ingénieur développement de composants
    Inscrit en
    Mars 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement de composants
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2011
    Messages : 21
    Par défaut
    Salut xclue,

    Alors la fonction init() s'utilise généralement quand ton application a fini de charger. C'est à dire avant l'affichage de celui ci . On l'utilise généralement sur une création complete du mxml comme ci dessous:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    creationComplete="Init();"
     
    <mx:script>
       protected function Init():void
       {
          ...
       }
       </mx:script>
    Sinon tu dois faire la distinction avec [Init] qui lui instancie l'élément et vérifie que chaque élément qu'il nécessite soit instancié au préalable.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 60
    Par défaut
    Ok, et creationComplete="Init();" on doit le placer ou dans le code?
    Donc si j'ai bien compris la fonction inti() est appelé dès que la première vue à fini de se charger c'est ça?

  4. #4
    Membre émérite
    Homme Profil pro
    Consultant Angular / Java J2EE
    Inscrit en
    Novembre 2008
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant Angular / Java J2EE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2008
    Messages : 545
    Par défaut
    Salut,

    la fonction init() n'est pas une fonction prédéfinie dans le framework de Flex. C'est juste une pratique courante dans Flex. Elle est utilisée souvent pour remplir certaines variables utiles dans ton écran. Par exemple, si tu veux remplir une datagrid d'un écran en fonction des données d'un autre écran, l'arrayCollection de cette datagrid peut être rempli dans cette fonction.
    Donc le but c'est de le remplir à l'initialiation de ta vue (donc dans une fonction init()).

    Maintenant, il y a plusieurs steps d'initialisation d'une vue en flex :
    - preintialize
    - initialize
    - creationComplete


    L'event creationComplete est dispatché une fois que tous les composants ont été créés.
    Donc potentiellement ta fonction init() peut être appelée sur le creationComplete :

    myView.mxml:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <mx:Vbox .... creationComplete="init()"...>
    <mx:script>
     [!CDATA[
       private function init(){
       //some code here...
    }
    ]]
    </mx:script>
    </mx:VBox>

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 60
    Par défaut
    Ok super merci de cette réponse je comprends mieux, mais par exemple il est possible d'initialiser un datagrid qui n'est pas affiché à l'écran? Je m'explique j'ai un tabnavigator avec 2 onglets qui contienne chacun un datagrid, lorsque je lance mon application le premier datagrid affiche bien mes données mais lorsque je clique sur le second onglet, mon deuxième datagrid lui n'affiche rien, est-il possible donc d'initialiser un datagrid si il n'est pas affiché à l'écran?

  6. #6
    Membre émérite
    Homme Profil pro
    Consultant Angular / Java J2EE
    Inscrit en
    Novembre 2008
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant Angular / Java J2EE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2008
    Messages : 545
    Par défaut
    Oui bien sûr,
    passes ton arrayCollection à ta datagrid en dataprovider. Tu peux modifier l'arrayCollection où tu veux dans l'application (si tu y a accès). Ensuite comme la grid est bindée sur cet arrayCollection, elle sera remplie automatiquement avec les données de ton arrayCollection (même si celui-ci change).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [ZF 1.11] Difference entre la fonction "init" et "preDispatche"
    Par touness dans le forum Zend Framework
    Réponses: 2
    Dernier message: 20/11/2011, 11h51
  2. Réponses: 3
    Dernier message: 03/11/2010, 17h30
  3. Fonction Init Javascript non prise en compte
    Par nkordiko dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 27/01/2010, 10h22
  4. Fonction init registry.php
    Par rebec dans le forum Zend Framework
    Réponses: 1
    Dernier message: 24/06/2008, 10h45
  5. init var et test sur parametre de fonction
    Par Marc_3 dans le forum Linux
    Réponses: 2
    Dernier message: 01/02/2007, 12h40

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