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

Ext JS / Sencha Discussion :

[Méthode] accéder à un component


Sujet :

Ext JS / Sencha

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut [Méthode] accéder à un component
    Bonjour,

    imaginons un component Panel, ou peu importe lequel d'ailleurs avec un id: 'mon_id'

    Dans un autre fichier .js, comment y accéder ? Car la méthode getCmp('mon_id') ne marche pas, alors qu'elle marche si elle est utilisée dans le même fichier.

  2. #2
    Membre expérimenté Avatar de JulienFio
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 201
    Par défaut
    Si si ça fonctionne très bien. Si pour toi ça ne fonctionne pas c'est que ton composant ne doit pas exister au moment où tu l'appelle, ou tu as un autre problème genre un mauvais include de ton .js, mais je te confirme que ça fonctionne.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Humm, c'est bizarre, j'ai un fichier js qui instancie un Panel et un autre qui instancie un TreePanel. Mon but est de n'ajouter le TreePanel uniquement si j'inclue le fichier correspondant. J'ai donc mis juste après la définition du TreePanel

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Ext.getCmp('id_panel').add(monTreePanel);
    Dans ce cas ça ne marche pas, alors que le fichier js contenant la définition du panel est appelé en premier. Si je déplace cette méthode dans ce fichier, tout marche.

  4. #4
    Membre expérimenté Avatar de JulienFio
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 201
    Par défaut
    j'ai un fichier js qui instancie un Panel et un autre qui instancie un TreePanel. Mon but est de n'ajouter le TreePanel uniquement si j'inclue le fichier correspondant
    C'est moi où ce n'est pas clair du tout ?

    Si le rôle de ton .js est d'instancier ton TreePanel, forcement il ne sera instancié que si tu fait l'include du fichier ><

    Bref.. Peux-tu poster le contenu (l'essentiel en tout cas) de tes .js et la façon (et l'ordre) dont tu les inclus ?

  5. #5
    Invité
    Invité(e)
    Par défaut
    Oui, le but est d'instancier le TreePanel, mais si je suis obligé de l'ajouter au panel dans un autre fichier, je vais avoir une belle erreur si jamais je ne l'inclus pas aussi.

    bref, difficile d'être clair effectivement, voici mes fichiers :

    fichier principal, inclu en premier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    var menu = new Ext.Panel({
        id:'menu-panel',
        region: 'west',
        title: 'Menu',
        border: false,
        collapsible: true,
        margins:'0 0 0 0',
        layout:'accordion',
        width: 200,
        minSize: 175,
        maxSize: 400,
      });
     
      Ext.getCmp('menu-panel').add(OutilsTreePanel);
     
      var viewport = new Ext.Viewport({
        id: 'viewport',
        layout: 'border',
        items: [ menu ]
      });
    donc le but est de déplacer l'ajout de OutilsTreePanel dans le menu dans ce fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var OutilsTreePanel = new TreePanel({
      id: 'treepanel-outils',
      title: 'Outils',
      iconCls: 'menu-outils'
    });

  6. #6
    Membre expérimenté Avatar de JulienFio
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 201
    Par défaut
    Essayes comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    include monTreePanel.js  //ou pas d'include si tu ne le veux pas
    include monPanel.js
    dans monPanel.js
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    var menu = new Ext.Panel({
        id:'menu-panel',
        region: 'west',
        title: 'Menu',
        border: false,
        collapsible: true,
        margins:'0 0 0 0',
        layout:'accordion',
        width: 200,
        minSize: 175,
        maxSize: 400,
      });
     
     
    if(Ext.getCmp('treepanel-outils')){ //Si OutilsTreePanel existe alors je l'ajoute au panel Menu
        menu.add(OutilsTreePanel);
    }
     
     
      var viewport = new Ext.Viewport({
        id: 'viewport',
        layout: 'border',
        items: [ menu ]
      });
    Est-ce ça que tu cherches à faire ?

    L'inverse est également possible:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    include monPanel.js  //ou pas d'include si tu ne le veux pas
    include monTreePanel.js
    dans monTreePanel.js
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    var OutilsTreePanel = new TreePanel({
      id: 'treepanel-outils',
      title: 'Outils',
      iconCls: 'menu-outils'
    });
     
    if(Ext.getCmp('menu-panel')){ //Si le panel menu existe alors j'ajoute le TreePanel
    Ext.getCmp('menu-panel').add(OutilsTreePanel);
    }

Discussions similaires

  1. Accéder aux méthodes d'objets alloués dynamiquement
    Par Galip dans le forum C++Builder
    Réponses: 5
    Dernier message: 21/05/2007, 22h57
  2. Réponses: 5
    Dernier message: 23/04/2007, 16h31
  3. Réponses: 4
    Dernier message: 11/04/2007, 14h26
  4. Accéder à une méthode depuis un form
    Par the java lover dans le forum Windows Forms
    Réponses: 8
    Dernier message: 06/03/2007, 21h36
  5. Réponses: 11
    Dernier message: 08/06/2006, 15h08

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