Les parties gauche et droite d'une opération arithmétique doit être de type 'tout', 'nombre' ou un type enum
J'obtiens l'erreur suivante. Je ne suis pas en mesure de savoir exactement où je suis allé mal.Quelqu'un peut-il m'aider à sortir de la solution
Le code
function() {
this.devices.forEach(device => {
let lastConnect = device.lastConnection.split('+');
lastConnect = lastConnect[0] + 'Z';
let diff = Math.abs(new Date() - new Date(lastConnect));//getting error here
}
- Le message d'erreur semble assez clair...les Dates ne sont pas des numéros, de sorte que vous ne pouvez pas soustraire eux.
- mais il a travaillé sur angulaire 1 maintenant, quand je suis à la migration du code angulaire 5 de ses montrant la erro
Vous devez vous connecter pour publier un commentaire.
J'ai trouvé le problème.
Ce code fonctionne uniquement dans Javascript
Afin de le faire fonctionner dans la Tapuscrit. Mise à jour le code comme indiqué ci-dessous
La réponse la plus simple serait
Une autre excellente façon:
Math.abs((new Date() as any) - (new Date(lastConnect) as any));
Pas nécessaire pour les Mathématiques.abs() pour répondre à cette question...
Juste en utilisant la méthode getTime() convertit une Date en un nombre (Date.le prototype.getTime()) de sorte que vous pouvez faire l'opération sans que l'erreur
Vérifier sur cet exemple