der folgende Code funktioniert in IE 11 nicht, er gibt einen Syntaxfehler in der Konsole aus
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"));
Verwenden von d3.js
zweiteiligem Diagramm zur Visualisierung
dieser Code verursacht das Problem in der obigen Anweisung d=>(d.part=="primary"? -40: 40)
Sie verwenden Pfeilfunktionen. IE11 unterstützt sie nicht. Verwenden Sie stattdessen function
-Funktionen.
Hier ist Babel's Übersetzung von ES5:
g.selectAll(".mainBars").append("text").attr("x", function (d) {
return d.part == "primary" ? -40 : 40;
}).attr("y", function (d) {
return +6;
}).text(function (d) {
return d.key;
}).attr("text-anchor", function (d) {
return d.part == "primary" ? "end" : "start";
});
Vermeiden Sie die Verwendung von Pfeilfunktionen, wenn Sie IE 11 unterstützen müssen, da es nicht unterstützt wird
Ändern Sie diese in reguläre Funktionen und Ihr Code sollte wie erwartet funktionieren
g.selectAll(".mainBars").append("text").attr("x",function(d) {
return d.part=="primary"? -40: 40;
}).attr("y",function(d){
return +6;
}).text(function(d) {
return d.key;
}).attr("text-anchor", function(d) {
return d.part=="primary"? "end": "start";
});
Bevor es sich bei Pfeilfunktionen um Pfeilfunktionen handelte, handelte es sich im Allgemeinen um reguläre JS function
s. Mit IE11 müssen wir also nur einen Schritt zurück in die Vergangenheit machen
var fruits=["Apple","banana","orange"];
var modernResult=fruits.find(e => e.includes("nana"));
console.log(modernResult);
var IEresult=fruits.find(function(e){return e.includes("nana")});
console.log(IEresult);