一、监听周期(分时)的切换。
在k线图表的上方“工具栏”,当我们切换分时的时候,图表下方x和y轴的刻度是发生变化了的,但是数据并没有跟着变化,也就是说tradingview并没有帮我们做这个处理,根据数据里面的时间智能生成图表。
所以不同周期(分时)的k线图对应着不同的数据,当我们切换周期的时候,需要重新向后端获取一次数据。
那么问题就来了,我们如何知道用户是否切换了工具栏的周期(分时)呢?百度找了很多教程,官方文档也是每一个菜单都找了一遍,基本上都没有看到如何监听用户切换周期(分时)的事件,也没有找到切换周期对应的回调方法。
最后还是通过官方的项目找到了对应的事件,官方的那个项目每点击一个区域,控制台基本上都会打印一些消息,对应着事件名称。如果你还想监听其他的东西,可以利用官方的项目,点击后,查看控制台打印的事件名称,最后再执行自己想干的事情。
核心代码:
this.widget.onChartReady(()=>{
this.chart.subscribe("time_interval",res=>{
console.log(res,'周期切换');
});
});
二、调用函数切换周期。
当我们老板要求通过其他方式切换周期,比如平时股票里面的标签栏来切换周期时,那么就可以手动调用setSymbol方法来进行切换周期。
核心代码:
this.widget.setSymbol("商品名","商品周期",callback);
widget是“new TradingView.widget”构造出来的实例对象。