微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从 anychart.js

如何解决如何从 anychart.js

我在尝试在 Anychart.js 地图的工具提示显示一组对象时遇到问题。我知道我们可以通过执行以下操作来访问数据集:%[数据集中的属性名称]。我的数据集具有以下形式:

{
    "country": "Austria","id": "AT","continent": "Europe","songs": [
        {
        "rank": 33,"title": "Stuck with U (with Justin Bieber)","artists": "Ariana Grande,Justin Bieber","album": "Stuck with U","explicit": 0,"duration": "3:48"},{
        "rank": 34,"title": "Late Night","artists": "Luciano","album": "Late Night","duration": "3:20"
        },... more objects
        ]
    }
}

如果我想访问 Country 属性,我只需通过执行以下操作将其添加到工具提示中:

tooltip.format("Country: " + {%country});

问题是在尝试访问对象数组时,我尝试了不同的变体,但都没有奏效。试图显示每首歌的标题

tooltip.format({%songs}.{%title});
tooltip.format({%songs.%title});
tooltip.format({%songs}[{%title}]);

我还在文档中看到我们可以发送一个函数作为参数,所以我尝试了以下方法,我将连接集合的每个标题,但也没有成功:

tooltip.format(function() {
  let concatenated = '';
  this.songs.forEach(song => {
    concatenated += song + ' ';
  });
  return concatenated;
});

我真的很感谢你们的帮助。

解决方法

字符串标记不支持嵌套对象/属性。但是您可以使用格式化的回调函数来访问songs。上下文原型包括 getData() 方法提供的。像这样:

  series.tooltip().format(function() {
    console.log(this.getData('songs'));
    return 'tooltip';
  });

有关详细信息,请查看我们准备的 the live sample

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?