我已经从大气中安装了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包,但也没有帮助。
会喜欢任何帮助。谢谢!
答案 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
包