博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Vue中引入TradingView制作K线图
阅读量:5146 次
发布时间:2019-06-13

本文共 2969 字,大约阅读时间需要 9 分钟。

**前言: 本文使用的是1.10版本 , 可通过TradingView.version()查看当前版本.

附上开发文档地址:**

一、修改datafeed.js为export导出,并在vue文件引入TradingView内部代码charting_library.min.js和datafeed.js.

datafeed.js

// 导出核心函数,提供vue组件调用初始化k线图export default {    UDFCompatibleDatafeed: Datafeeds.UDFCompatibleDatafeed,}

vue 组件

// 这是我的路径,请根据自己的路径去配置import "../../../static/charting_library/charting_library.min.js";import Datafeeds from "../../../static/charting_library/datafeed/udf/datafeed.js";

二、初始化k线图函数

data(){    return{         widget: null,    }},methods:{    createWidget() {       var _this = this;      this.$nextTick(function() {        let widget = new TradingView.widget({          symbol: 'BTC-USDT',//商品名称          interval: "15",//默认显示时间分辨率15分钟          container_id: "tv_chart_container",//k线div容器id          //调用datafeed初始化函数          datafeed: new Datafeeds.UDFCompatibleDatafeed(            'https://demo_feed.tradingview.com',//后台地址            10000, //轮询时间(毫秒)          ),          library_path: "/static/charting_library/", //static文件夹的路径          locale: 'zh', //语言          fullscreen: true, //显示图表是否占用窗口中所有可用的空间          //禁用图表某个功能,参考:https://tradingview.gitee.io/featuresets/          disabled_features: [            "use_localstorage_for_settings",            "left_toolbar", //隐藏左边工具栏            "header_saveload",            "header_symbol_search", //隐藏搜索框            "header_interval_dialog_button", //隐藏设置周期按钮            "timeframes_toolbar", //隐藏底部刻度栏            "header_chart_type", //隐藏k线样式选择            // "header_indicators", //隐藏指标按钮            "header_fullscreen_button",            "header_undo_redo", //隐藏撤销重做按钮            "header_compare", //隐藏比较/增加商品按钮            "header_screenshot", //隐藏截屏按钮            "header_resolutions",            "edit_buttons_in_legend",            "pane_context_menu",            "legend_context_menu",            "adaptive_logo",            "display_market_status",            "volume_force_overlay"          ],          //启用图表某个功能          enabled_features: ["study_templates", "move_logo_to_main_pane"],          charts_storage_url: "https://saveload.tradingview.com",          charts_storage_api_version: "1.1",//版本          timezone: "Asia/Shanghai",//时区          user_id: "public_user_id",        });        _this.widget = widget; //保存图表对象      });    },    // 更新图表    updateWidget(item) {      this.removeWidget();      this.createWidget();    },    //销毁图表    removeWidget() {      if (this.widget) {        this.widget = null;      }    },    destroyed() {        this.removeWidget();    }},mounted(){    this.$nextTick(()=>{        this.updateWidget();    })    }

三、Datafeed.js简单介绍

普遍主要通过修改这几个函数实现预期效果
  • Datafeeds.UDFCompatibleDatafeed.prototype.resolveSymbol - 配置商品信息结构 (文档:
  • Datafeeds.UDFCompatibleDatafeed.prototype.getBars - 通过日期范围获取历史K线数据。图表库希望通过onHistoryCallback仅一次调用,接收所有的请求历史。而不是被多次调用。
  • Datafeeds.DataPulseUpdater - 更新后台返回k线最新的数据

emmm: 网上比较少关于TradingView引入Vue的文章,小弟不才,粗略的分享一下我的实现方法.

原文地址:

转载于:https://www.cnblogs.com/lalalagq/p/9900487.html

你可能感兴趣的文章
macOS10.12允许所有来源设置
查看>>
C++有关 const & 内敛 & 友元&静态成员那些事
查看>>
函数积累
查看>>
python搜索引擎(转)
查看>>
关于height,line-height导致的样式混乱的问题
查看>>
《SEO实战密码》读后一点感受
查看>>
bzoj 4815 [Cqoi2017]小Q的表格——反演+分块
查看>>
Swift 入门之简单语法(六)
查看>>
shim和polyfill有什么区别
查看>>
Failed to load the JNI shared library “E:/2000/Java/JDK6/bin/..jre/bin/client/jvm.dll
查看>>
〖Python〗-- IO多路复用
查看>>
栈(括号匹配)
查看>>
Java学习 · 初识 面向对象深入一
查看>>
源代码如何管理
查看>>
vue怎么将一个组件引入另一个组件?
查看>>
bzoj1040: [ZJOI2008]骑士
查看>>
LeetCode 74. Search a 2D Matrix(搜索二维矩阵)
查看>>
利用SignalR来同步更新Winfrom
查看>>
反射机制
查看>>
CocoaPod
查看>>