“La flèche de la fonction” ne fonctionne pas dans IE, pourquoi?
ci-dessous morceau de code ne fonctionne pas dans internet explorer 11, il renvoie une erreur de syntaxe dans la console
g.selectAll(".mainBars").append("text").attr("x",d=>(d.part=="primary"? -40: 40)).attr("y",d=>+6).text(d=>d.key).attr("text-anchor",d=>(d.part=="primary"? "end": "start"));
À l'aide de d3.js
bipartite graphique pour la visualisation
ce code à l'origine du problème dans la déclaration ci-dessus d=>(d.part=="primary"? -40: 40)
IE11 ne prend pas en charge la flèche de notation pour les fonctions anonymes. Réécrire sous la forme
Pas tous flèche fonctions sont anonymes. Ce n'est pas le cas, par exemple:
Voir ici pour les navigateurs qui soutien cette syntaxe
^^ ... ou la doc.
function (d) { return d.part == "primary" ? -40 : 40; }
.Pas tous flèche fonctions sont anonymes. Ce n'est pas le cas, par exemple:
var f = () => "foo";
Voir ici pour les navigateurs qui soutien cette syntaxe
^^ ... ou la doc.
OriginalL'auteur prakashkadakol | 2016-10-24
Vous devez vous connecter pour publier un commentaire.
Vous êtes à l'aide de la flèche fonctions. IE11 ne les supporte pas. Utilisation
function
fonctions à la place.Voici Babel est traduction de l'ES5:
this
:var f = (a) => {a.some1(); this.some2();};
àvar f = function(a) {a.some1(); this.some2();}.bind(this);
OriginalL'auteur
Éviter l'utilisation de la flèche fonctions si vous avez besoin de soutien IE 11 il n'est pas pris en charge
Modifier ces régulier de fonctions et de votre code devrait fonctionner comme prévu
OriginalL'auteur Felipe Sabino
Il est un outil pratique et rapide pour transpiling votre
ES6
codes àES5.1
pour travailler dansIE
. visitez le Babel site puis collez votre code dans la zone de gauche et de copier le droit de la boîte de code qui est transpiled à la version antérieure deJavaScript
.Par exemple, votre code est transpiled:
"use strict";
OriginalL'auteur AmerllicA