Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Angular] Onclick is not a function

[Angular] Onclick is not a function

Sujet résolu
    13 juillet 2019 à 11:38:36

    Bonjour à tous,

    j'apprend comment programmer avec Angular mais j'ai un soucis lorsque je veux appliquer l'evenement OnAllumer donner par le site ici https://openclassrooms.com/fr/courses/4668271-developpez-des-applications-web-avec-angular/5088271-gerez-des-donnees-dynamiques:

    import { Component, OnInit } from '@angular/core';
    
    @Component({
      selector: 'app-appareil',
      templateUrl: './appareil.component.html',
      styleUrls: ['./appareil.component.css']
    })
    export class AppareilComponent implements OnInit {
    
      appareilName: string = 'Machine à laver';
      appareilStatus: string = 'éteint';
    
      constructor() { }
    
      ngOnInit() {
      }
    
      getStatus() {
        return this.appareilStatus;
      }
      onAllumer(){
        console.log("On allume tout !");
      }
    }
    <div class="container">
      <div class="row">
        <div class="col-xs-12">
          <h2>Mes appareils</h2>
          <ul class="list-group">
            <app-appareil></app-appareil>
            <app-appareil></app-appareil>
            <app-appareil></app-appareil>
          </ul>
          <button class="btn btn-success" [disabled]="!isAuth" (click)="onAllumer()">Tout allume</button>
        </div>
      </div>
    </div>
    

    voici l'erreur : 



    j'espere que c'est le bon forum pour Angular.

    merci pour vos retours.

    • Partager sur Facebook
    • Partager sur Twitter
      14 juillet 2019 à 22:27:58

      Salut,

      la fonction que tu as déclaré onAllumer est dans le composant app-appareil. Or le template que tu montre ne fais que contenir app-appareil. Il n'a pas accès à ses méthodes !

      Les méthodes d'un composant ne fonctionnent qu'avec le template (voir templateUrl) auquel il est rattaché.

      • Partager sur Facebook
      • Partager sur Twitter
        14 juillet 2019 à 23:44:30

        Effectivement !!!

        quel con je suis :colere2:

        merci 7umpy , je commence vraiment bien.

        • Partager sur Facebook
        • Partager sur Twitter
          16 juillet 2019 à 11:38:52

          il faut que tu utilises un EventEmitter que tu passeras en input dans app-appareil
          • Partager sur Facebook
          • Partager sur Twitter

          [Angular] Onclick is not a function

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown