83 votes

Pourquoi la commande est-elle liée à un Button ou à un événement exécuté lorsqu’il est déclaré ?

Mon code est :

Le bouton ne fonctionne pas, il imprime « hey » et « het » une fois sans ma commande, puis, lorsque j’appuie sur le bouton, rien ne se passe.

13voto

Lukáš Lalinský Points 22537

Vous devez créer une fonction sans paramètres que vous pouvez utiliser comme commande:

Reportez-vous à la section « Passage d’arguments aux rappels » de ce document.

1voto

C.Vergnaud Points 633

Le moteur évalue le résultat de la fonction lorsqu’il affecte la valeur à la ligne « ... commande = ... »

La « commande » s’attend à ce qu’une fonction soit retournée, c’est pourquoi l’utilisation d’une expression lambda peut faire le travail car elle crée une fonction anomymeuse qui est retournée à la « commande » pendant l’évaluation. Vous pouvez également coder votre propre fonction, elle fera également le travail.

voici un exemple avec lambda et sans lambda :

0voto

Deer Lawson Points 21

Je pense que la meilleure façon de résoudre ce problème est d’utiliser une fonction lambda.

Si vous ne souhaitez pas utiliser le mot-clé command, vous pouvez utiliser la méthode .bind() à la place :

L’utilisation d’une fonction mère (aucun paramètre) qui possède la fonction enfant (au moins 1 paramètre) que vous souhaitez appeler est stupide.

Juste pour partager avec vous, c’est l’un de mes programmes:

Voilà.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X