答案 0 :(得分:76)
您正在使用箭头功能。 IE11不支持它们。请改用function
函数。
此处Babel's将其翻译为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";
});
答案 1 :(得分:14)
如果您需要支持IE 11 it is not supported
,请避免使用箭头功能将这些更改为常规功能,您的代码应该按预期工作
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";
});
答案 2 :(得分:0)
Internet Explorer(IE) 根本不支持 ES6 功能,但您可以安装 BabelJS。但是你也可以编写 vanillaJS 函数来代替。
例如:
const hasBrownEyes = eye.color === "brown" ? true : false
或者只是 vanilla.js:
var hasBrownEyes = false; // default answer, it will be overwritten if it has a brown eye
if (eye.color === "brown") {
return true;
}
答案 3 :(得分:-1)
通常,在箭头功能是箭头功能之前,它们是常规的JS function
。因此,使用IE11,我们只需倒退时间
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);
答案 4 :(得分:-2)
IE到目前为止不支持箭头符号,但是有一种便捷的方法可以将ES6
代码转换为ES5.1
以便在IE
中工作。请访问Babel网站,然后将您的代码粘贴到左侧框中,然后将右边的代码复制到JavaScript
的早期版本中。
例如,您的代码被转换为:
"use strict";
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";
});