一尘不染

JavaScript为什么此箭头功能在IE 11中不起作用?

javascript

下面的代码在IE 11中不起作用,它在控制台中引发语法错误

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"));

使用d3.js二部图进行可视化

此代码导致上述声明中的问题 d=>(d.part=="primary"? -40: 40)


阅读 378

收藏
2020-04-25

共1个答案

一尘不染

您正在使用箭头功能。IE11不支持它们。使用function函数代替。

这是Babel将其翻译成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";
});
2020-04-25