Vis.js-如何获取onInitialDrawComplete来更改ReactiveVar?

时间:2018-11-05 04:29:44

标签: meteor vis.js vis.js-timeline

我试图在加载Vis.js表时显示加载的gif。

我已经阅读了文档以及与此相关的几乎所有对话,但是仍然有一个问题。

如何将ReactiveVar或Session变量传递到options对象中的OnInitialDrawComplete函数中?

Template.visualScheduleEdit.onRendered(function () {
  this.autorun(() => { 

    var container = document.getElementById('VSvisualization');
    var options = {
      showCurrentTime: false,
      zoomable: true,
      min: minstart,
      max: maxend,
      start: minstart,
      end: maxend,
      zoomMax: 86399999,
      zoomMin: 10,
      editable: {
        add: false,
        updateTime: true,
        updateGroup: true,
        remove: false,
        overrideItems: false
      },
      onInitialDrawComplete: function() {
        Template.instance().tableLoading.set(false);
      }
    };

    let data = getMatches(Template.instance());
    items = new vis.DataSet(data);

    timeline = new vis.Timeline(container, items, groups, options);
    timeline.setOptions(options);
    timeline.setGroups(groups);
    timeline.setItems(items);
    console.log('done')
    Template.instance().formSubmit.set(false);
    Template.instance().tableLoading.set(true);
  }
});

Template.instance().tableLoading.set(true);发生时,onInitialDrawComplete...Template.instance().tableLoading.set(false);会停顿大约2秒钟。这就是为什么以及何时需要加载gif来显示的原因。

现在,代码到达加载的gif并挂在那里。就像onInitialDrawComplete函数没有被读取一样。

  • 注意,我已经尝试过并宁愿使用ReactiveVar代替Session var。

0 个答案:

没有答案