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

Angular Discussion :

routerLinkActive avec directive ngStyle


Sujet :

Angular

  1. #1
    Membre averti
    Homme Profil pro
    Reconversion
    Inscrit en
    Novembre 2018
    Messages
    502
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Reconversion
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2018
    Messages : 502
    Points : 300
    Points
    300
    Par défaut routerLinkActive avec directive ngStyle
    Hello, me revoilà,

    j'ai un menu material dans lequel je souhaite avoir le style suivant sur chaque item :
    - quand item actif : le button est de colueur primary et l'icon n'a pas de couleur
    - quand item inactif c'est l'inverse le button n'a pas de couleur mais l'icon est de couleur primary

    mon code ne fonctionne pas dans le sens où il ne se passe rien au niveau du background-color lorsque je suis sur l'item actif. je pense que la propriété background-color ne passe pas dans le template

    le voici :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <div *ngFor="let itemFooterMenu of itemsFooterMenu; let indexItem = index">
            <a routerLink="{{ itemFooterMenu.utilRoute }}" routerLinkActive #rla="routerLinkActive">
                <button mat-button [ngStyle]="{'background-color': rla.isActive ? 'primary' : ''}">
                    <mat-icon [ngStyle]="{'color': rla.isActive ? '' : 'primary'}">{{ itemFooterMenu.matIcon }}</mat-icon>
                </button>
            </a>
        </div>

    merci

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2019
    Messages
    707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 707
    Points : 1 030
    Points
    1 030
    Par défaut
    au lieu de background-color
    mettre background
    ça donne quoi ?

  3. #3
    Membre averti
    Homme Profil pro
    Reconversion
    Inscrit en
    Novembre 2018
    Messages
    502
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Reconversion
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2018
    Messages : 502
    Points : 300
    Points
    300
    Par défaut
    Hello Krakatoa,

    Négatif, ça bouge pas...
    Modif : si ça marche en fait, si je metsune couleur de type "yello" "blue"... c'est primary le soucis

  4. #4
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2019
    Messages
    707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 707
    Points : 1 030
    Points
    1 030
    Par défaut
    primary ce n'est pas une classe ?
    donc serait ce ngClass qu'il faut utiliser ?

  5. #5
    Membre averti
    Homme Profil pro
    Reconversion
    Inscrit en
    Novembre 2018
    Messages
    502
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Reconversion
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2018
    Messages : 502
    Points : 300
    Points
    300
    Par défaut
    je teste, merci

  6. #6
    Membre averti
    Homme Profil pro
    Reconversion
    Inscrit en
    Novembre 2018
    Messages
    502
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Reconversion
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2018
    Messages : 502
    Points : 300
    Points
    300
    Par défaut
    non, je ne m'en sors pas avec ngClass.. bon à suivre

  7. #7
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2019
    Messages
    707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 707
    Points : 1 030
    Points
    1 030
    Par défaut
    surement qu'il y a déjà une classe et donc il a la priorité.

    le plus simple :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
                <button *ngIf="rla.isActive" mat-button class="primary">
                    <mat-icon style="color: primary">{{ itemFooterMenu.matIcon }}</mat-icon>
                </button>
                <button *ngIf="!rla.isActive" mat-button class="??????????">
                    <mat-icon style="color: ????????????">{{ itemFooterMenu.matIcon }}</mat-icon>
                </button>


    la bonne pratique est la directive, mais ça demande des connaissances avancés :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
                <button appActive="rla.isActive" mat-button >
                    <mat-icon>{{ itemFooterMenu.matIcon }}</mat-icon>
                </button>

  8. #8
    Membre averti
    Homme Profil pro
    Reconversion
    Inscrit en
    Novembre 2018
    Messages
    502
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Reconversion
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2018
    Messages : 502
    Points : 300
    Points
    300
    Par défaut
    ah merci beaucoup, c'est vrai que je pourrais essayer la directive, je vais tenter du coup.

  9. #9
    Membre averti
    Homme Profil pro
    Reconversion
    Inscrit en
    Novembre 2018
    Messages
    502
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Reconversion
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2018
    Messages : 502
    Points : 300
    Points
    300
    Par défaut
    Du coup, juste un petit indice, il faut que je place le code html dans la directive et après j'appelle le appDirective ds la balise ou j'en ai besoin ?

  10. #10
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2019
    Messages
    707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 707
    Points : 1 030
    Points
    1 030
    Par défaut
    comme cela m'a intrigué, j'ai regardé.
    en fait faut voir la doc angular material
    alors t'embete pas avec les directives c'est déjà prévu par angular material


    en plus ce n'est pas mat-button mais mat-raised-button

    teste ça :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      <button mat-raised-button [color]="rla.isActive ? 'primary' : 'accent'">
        <mat-icon [color]="rla.isActive ? 'primary' : 'warn'">info</mat-icon> toto
      </button>

    et tu trouveras bonheur !

  11. #11
    Membre averti
    Homme Profil pro
    Reconversion
    Inscrit en
    Novembre 2018
    Messages
    502
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Reconversion
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2018
    Messages : 502
    Points : 300
    Points
    300
    Par défaut
    Ah merci, mais du coup, il me faudrait un [background] au niveau du bouton ! Mais bon tu m'as assez aidé sur ce coup là !

    edit : Suis trop nul, ça marche nickel.

    Meeeeeeeeeeeeeeeeeeeeeeeeeerciiiiiiiiiii !!!

  12. #12
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2019
    Messages
    707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 707
    Points : 1 030
    Points
    1 030
    Par défaut
    'primary' : 'accent' 'warn"
    sont des background predefinie material


    pour une couleur perso :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
      <button
        mat-raised-button
        [style.background-color]="isActive ? 'red' : 'blue'"
      >
        <mat-icon [color]="isActive ? 'primary' : 'warn'">info</mat-icon> toto
      </button>

  13. #13
    Membre averti
    Homme Profil pro
    Reconversion
    Inscrit en
    Novembre 2018
    Messages
    502
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Reconversion
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2018
    Messages : 502
    Points : 300
    Points
    300
    Par défaut
    Le truc c'est que effectivement je m'étais acharné avec le mat-button et non le raised ! Bien joué comme toujours. tu donnes pas des cours particuliers par hasard ??

  14. #14
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2019
    Messages
    707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 707
    Points : 1 030
    Points
    1 030
    Par défaut
    et non, mais si tu as des questions
    tu peux les poser ici !

  15. #15
    Membre averti
    Homme Profil pro
    Reconversion
    Inscrit en
    Novembre 2018
    Messages
    502
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Reconversion
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2018
    Messages : 502
    Points : 300
    Points
    300
    Par défaut
    oui, je ne m'en prive pas, d'ailleurs est-ce que tu pourrais me montrer l'endroit de la doc où il est dit que le raised-button supporte la propriété [color] ? Je n'ai pas trouvé...Après je te laisse tranquille...

  16. #16
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2019
    Messages
    707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 707
    Points : 1 030
    Points
    1 030
    Par défaut
    https://material.angular.io/components/button/overview


    tu peux voir que le 1ere ligne est des boutons basic
    et la 2eme ligne des raised

    en haut à droite tu peux aller voir le code correspondant : clique sur < >

  17. #17
    Membre averti
    Homme Profil pro
    Reconversion
    Inscrit en
    Novembre 2018
    Messages
    502
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Reconversion
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2018
    Messages : 502
    Points : 300
    Points
    300
    Par défaut
    Ok, ça j'ai vu, mais comment as tu fait pour trouver qaue c'était le raised qui fonctionnait et pas les autres ? Tu as découvert en testant (mon boss va me demander en fait) ?

  18. #18
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2019
    Messages
    707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 707
    Points : 1 030
    Points
    1 030
    Par défaut
    grâce à mes yeux de lynx

    j'ai constaté que les basic n'avait pas de background contrairement aux raised
    j'ai testé et hop confirmation !

  19. #19
    Membre averti
    Homme Profil pro
    Reconversion
    Inscrit en
    Novembre 2018
    Messages
    502
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Reconversion
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2018
    Messages : 502
    Points : 300
    Points
    300
    Par défaut
    C'est ce qu'on appelle le Métier avec un grand M !

  20. #20
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2019
    Messages
    707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 707
    Points : 1 030
    Points
    1 030
    Par défaut
    et oui mec, le métier , l'expérience...

    toi aussi un jour, tes yeux seront aguerris et tu repérera de loin le moindre Bugue tel un faucon !

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 6
    Dernier message: 06/05/2009, 14h43
  2. création de lien avec direct x
    Par argon dans le forum DirectX
    Réponses: 13
    Dernier message: 14/01/2008, 20h43
  3. Problème de compilation avec Direct Input
    Par di-giac dans le forum DirectX
    Réponses: 6
    Dernier message: 06/05/2005, 18h19
  4. pb de link avec direct X 8.1
    Par amaury pouly dans le forum DirectX
    Réponses: 2
    Dernier message: 01/04/2003, 08h04

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