流星错误,Handsontable未定义

时间:2013-12-13 23:11:27

标签: javascript jquery meteor handsontable

我已经从大气中安装了Handsontable包,定义表在我的应用程序中工作得很好,除了我尝试创建自定义单元格渲染器时。

定义表时的违规代码是此列定义:

{
  type: { 
    renderer: function(instance, td, row, col, prop, value, cellProperties) {
      Handsontable.TextCell.renderer.apply(this, arguments);
      $(td).css({
        background: 'yellow'
      });
    }},
    //format: '0, 0.00 $',
    readOnly: true
  }

任何时候我尝试像上面的 Handsontable.Textcell.renderer.apply 那样进行Hansontable调用,Meteor会抛出此错误:

  

Deps afterFlush函数的异常:ReferenceError:没有定义Handsontable

我确实读过Handsontable使用的是Jquery 1.9,但Meteor与1.8捆绑在一起。这可能是一个问题吗?

我在Handsontable中看到的自定义单元格渲染器的每个示例都与我所拥有的相似,所以我对问题的解决方法非常遗憾。我还使用最新版本创建了一个自定义的Handsontable包,但也没有帮助。

会喜欢任何帮助。谢谢!

1 个答案:

答案 0 :(得分:1)

这可能是Handsontable包中的一个错误。

这一行:https://github.com/olragon/meteor-handsontable/blob/master/lib/jquery.handsontable.full.js#L13

var Handsontable = {

应该是

Handsontable = {

在meteor文件中是变量范围的。如果您使用var关键字,则其他文件无法访问它。这是您收到Handsontable is not defined错误

的部分原因

您还必须在https://github.com/olragon/meteor-handsontable/blob/master/package.js#L6

之后添加以下行来导出它
api.export("Handsontable");

这样api暴露在包装外面。

我已经发出拉取请求,因此包维护者需要接受它并在大气层上更新包,然后您可以运行mrt update并使用您现在使用的代码。

如果您匆忙,可以使用更新来分发包,并将其用作Handsontable

https://github.com/olragon/meteor-handsontable/pull/1