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 :

Directives: template dynamique


Sujet :

AngularJS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2011
    Messages
    756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 756
    Par défaut Directives: template dynamique
    Bonjour,

    j'aimerais pouvoir changer dynamiquement le contenu de mon template de directive en fonction d'une valeur qui sera mis à jour pas le reste du code.

    J'ai utilisé ceci, mais ça ne fonctionne pas. Auriez-vous une méthode à utiliser ?

    A la base je voulais passer par ng-bind-html mais je n'ai pas pu car la directive ng-click du bouton contenu dans le code dynamique n'était pas compilé. J'ai donc été obligé d'utiliser une directive.


    Code angular : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
               angular.module('mainMissionApp').directive('mybutton',function(){
                    var retour;
                    if($scope.validationBasket){
                        retour="<div ng-click=\"confirmBasket(basketDatas.basket.id," +
                            "basketDatas.basket.newBasket)\" type=\"button\" class=\"btn btn-success\">{{'Validate basket'|trans}}</div>"
    				}else{
                        retour="<p>La tournée ne comporte pas de date de réalisation valide</p>"
    				}
                    return {
                        template: retour
                    }
                });

  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
    Ton approche est très mauvaise. Utilise la directive ng-if ça sera beaucoup plus simple.

  3. #3
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2011
    Messages
    756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 756
    Par défaut
    J'ai finalement pu me débrouiller avec un ng-show et une valeur booléenne me permettant de switch entre les deux affichages.


    Ton approche est très mauvaise. Utilise la directive ng-if ça sera beaucoup plus simple.
    Le soucis c'est que je ne me suis jamais formé à angularJs, et à l'heure actuelle je suis obligé de reprendre une grosse appli existante (à la base il s'agit d'un stage supposé être axé Symfony...sauf que bah en fait Symfony gère simplement la structure du projet, et dans la pratique toutes les vues twig sont truffées de code angularJs que je ne comprends qu'à moitié), j'essaie donc de composer avec les outils que je trouve...bons ou mauvais


    Mais à vrai dire mon plus gros soucis c'est d'arriver à faire naviguer mes informations de mon contrôleur Symfony vers mon contrôleur angularJs, d'après ce que j'ai pu comprendre angular ne s'occupe que du front et donc est incapable de gérer des interactions avec une base de donnée par exemple. Je fais donc des trucs assez sales consistant à envoyer des requêtes AJAX à chaque fois que j'ai besoin de récupérer des informations...j'ai vraiment l'impression de produire du code sale et j'aime pas ça...

    Enfin bref je pars en HS ici, problème résolu donc...en attendant le suivant

  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
    Le soucis c'est que je ne me suis jamais formé à angularJs
    Ben comment te dire ... Ça ne dépend que de toi !

    je suis obligé de reprendre une grosse appli existante (à la base il s'agit d'un stage
    Donc en deux mots tu es le stagiaire informaticien de la boite payé au lance pierre qu'un chef incompétent a décidé de placer à la tête d'un gros projet ? Cherche un autre boulot et fuis, c'est un traquenard.

    les vues twig sont truffées de code angularJs que je ne comprends qu'à moitié
    Je ne sais pas ce qu'est une vue Twig, il s'agit d'un concept Symphony j'imagine. Ce que je sais c'est que c'est à AngularJS de gérer les vues, pas à Symphony. Si tu as des vues AngularJS dans des vues Symphony il y a un énorme problème d'architecture. 2ème raison de fuir à toutes jambes, la personne qui a monté ce projet ne comprenait visiblement rien à l'architecture d'un projet contenant une SPA.

    angular ne s'occupe que du front et donc est incapable de gérer des interactions avec une base de donnée
    Oui et heureusement ! AngularJS est framework javascript servant à écrire des SPA (Single Page Application). Son contexte d'exécution c'est le navigateur de l'utilisateur.

    mon plus gros soucis c'est d'arriver à faire naviguer mes informations de mon contrôleur Symfony vers mon contrôleur angularJs
    [...]
    Je fais donc des trucs assez sales consistant à envoyer des requêtes AJAX à chaque fois que j'ai besoin de récupérer des informations...
    Ça me semble être la bonne piste. Normalement ton backend écrit avec Symphony devrait exposer des endpoints REST (et pas des vues). Ces endpoints devraient être consommés par ta webapp (via Ajax, c'est à dire via XMLHttpRequest, lequel est abstrait par le service AngularJs nommé $http (oublie le $resource)

  5. #5
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2011
    Messages
    756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 756
    Par défaut
    Ben comment te dire ... Ça ne dépend que de toi !
    J'essaie mais bon, pas facile de se motiver à se former sur son temps libre^^

    Je ne sais pas ce qu'est une vue Twig, il s'agit d'un concept Symphony j'imagine. Ce que je sais c'est que c'est à AngularJS de gérer les vues, pas à Symphony. Si tu as des vues AngularJS dans des vues Symphony il y a un énorme problème d'architecture. 2ème raison de fuir à toutes jambes, la personne qui a monté ce projet ne comprenait visiblement rien à l'architecture d'un projet contenant une SPA.
    Effectivement, twig n'est pas spécifique à symfony il me semble, c'est un framework de vues....d'ailleurs la syntaxe est pas bien différente d'angularJs pour certains cas, par exemple pour récupérer une variable du controler {{variable}} ; ce qui oblige à re-définir la syntaxe d'angular soit dit en passant sinon il y a conflit...


    Donc en deux mots tu es le stagiaire informaticien de la boite payé au lance pierre qu'un chef incompétent a décidé de placer à la tête d'un gros projet ? Cherche un autre boulot et fuis, c'est un traquenard.
    Oui et non, j'avais quand même besoin de ce stage pour valider mon année donc je suis quand même content de l'avoir trouvé, c'est pas si facile que ça de trouver quelque chose quand on est pas encore en fin d'étude, et puis ça m'oblige à mettre le nez dans angular que je suis supposé voir l'an prochain...donc pour moi c'est que du benef...mais à coté de ça pendant mon stage je me trouve totalement inefficace...

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

Discussions similaires

  1. [Smarty] Inclure un template dynamiquement
    Par torest dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 26/01/2010, 20h55
  2. Réponses: 22
    Dernier message: 03/03/2009, 16h47
  3. Réponses: 1
    Dernier message: 04/03/2008, 22h22
  4. Réponses: 3
    Dernier message: 23/11/2005, 15h28
  5. Trouver le Type d'une classe template dynamiquement ?
    Par Serge Iovleff dans le forum Langage
    Réponses: 3
    Dernier message: 23/09/2005, 16h48

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