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 :

Lien entre 2 pages


Sujet :

Flex

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 16
    Par défaut Lien entre 2 pages
    Bonjour,

    Voici mon problème qui a l'air simple mais je n'arrive pas a trouver une solution.

    Pour commencer j'ai un menu sous forme d'arbre qui se génère via du XML. Lorsque on sélectionne une de ses feuille, je voudrais pouvoir ouvrir la page correspondante.
    Ce menu se situe dans un composant qui lui es propre. Ce composant est utilisé dans toutes les pages de mon application

    Après j'ai plusieurs pages mxml. Je voudrais par exemple que lorsque je clique sur la feuille "feuille2" j'ai la page "PageFeuille2" qui se charge et s'affiche.

    j'ai opté pour ce système de navigation pour pouvoir modifier mon arbre une seule fois et que les modifications soit prise en compte sur toutes les pages.

    j'ai essayé avec les instruction suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.application.state = 'feuille2'
    ou bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.application.currentState = feuille2
    et encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.currentState = 'feuille2'
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.setCurrentState('feuille2')
    Je n'arrive pas a voir ce qui ne vas pas. Tous les cas au dessus me génère une erreur lors de l'exécution.

    Merci de votre aide

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Mai 2006
    Messages
    895
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 895
    Par défaut
    Salut,

    Tu as essayé la viewstack ? Regarde dans le Flex Component Explorer l'exemple.
    Je pense qu'il est plus simple d'utiliser ce composant.
    ++

  3. #3
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 16
    Par défaut
    Merci pour ta réponse,

    J'ai déjà regarder du coté du viewstack, mais le problème avec ce component c'est qu'il charge toutes les pages au début de l'application.

    J'ai réaliser un test avec un arbre avec 12 feuilles et il me charger les 12 feuille avant de démarrer. Je voudrais que les feuille se charge uniquement si demander pour ne pas avoir un temps de chargement des données trop importante.

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Mai 2006
    Messages
    895
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 895
    Par défaut
    Il te faut donc modifier le creationPolicy une propriété de la viewstack permettant de ne charger que les composants appelés.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    
    <mx:Viewstack id="myViewstack" creationPolicy="queued">
        ...
    </mx:Viewstack>
    Par défaut elle est à all.

    Pour plus d'infos : http://livedocs.adobe.com/flex/2/doc...=00001430.html

  5. #5
    Membre éclairé Avatar de miya
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 469
    Par défaut
    c sur qu'elle est a all par défaut? moi j'étais obligé de spécifié la valeur all pour intervenir sur des composants dans la viewstack

  6. #6
    Membre Expert

    Profil pro
    Inscrit en
    Mai 2006
    Messages
    895
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 895
    Par défaut
    Il me semblait que c'était ALL mais en regardant la doc :
    If no creationPolicy is specified for a container, that container inherits its parent's creationPolicy. If no creationPolicy is specified for the Application, it defaults to ContainerCreationPolicy.AUTO.
    A creationPolicy of ContainerCreationPolicy.AUTO means that the container delays creating some or all descendants until they are needed, a process which is known as deferred instantiation. This policy produces the best startup time because fewer UIComponents are created initially. However, this introduces navigation delays when a user navigates to other parts of the application for the first time. Navigator containers such as Accordion, TabNavigator, and ViewStack implement the ContainerCreationPolicy.AUTO policy by creating all their children immediately, but wait to create the deeper descendants of a child until it becomes the selected child of the navigator container.
    Cela dépend donc des composants parents et effectivement par défaut il est à AUTO si aucune creationPolicy a été défini plus haut.

Discussions similaires

  1. Lien entre 2 pages HTML
    Par suckthewindow dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 10/06/2008, 09h46
  2. lien entre 2 pages .jsp sans formulaire à envoyer
    Par mennou dans le forum Struts 1
    Réponses: 15
    Dernier message: 15/05/2008, 11h55
  3. Réponses: 6
    Dernier message: 02/12/2007, 10h30
  4. Liens entre les pages
    Par amtdev dans le forum Langage
    Réponses: 3
    Dernier message: 13/06/2007, 12h06
  5. Problème de lien entre mes pages
    Par anthonycosson dans le forum Zend Studio
    Réponses: 3
    Dernier message: 22/08/2006, 17h22

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