为什么pivottable.js在Meteor项目中不起作用



pivottable.js的工作原理很有魅力,但在最基本的流星项目中却没有。拥有html:

<body>
  <div id="output"></div>
</body>

js(考勤var已定义,所有工作都在非流星项目中):

$('#output').pivot(attendance,
  {
    rows: ["group", "trainer", "client"],
    cols: ["came"]
  }
);

在Meteor项目中,pivot.js被放在客户端/兼容性文件夹中,加载顺序是正确的:jquery>pivot..js>my-js代码。获取错误:

pivot.js:949
Uncaught TypeError: Cannot read property 'hasChildNodes' of undefined
$.fn.pivot @ pivot.js:949
(anonymous function) @ sandbox.js:20
(anonymous function) @ sandbox.js?64df4e0c48aa567cada8bd4c28bd682ed2d9ab36:41

Meteor模板的工作方式有点不同。当它运行时,DOM还没有被呈现。为了实现这一点,您必须在模板呈现的回调中加载任何依赖于模板内部DOM的外部库。在这种情况下:

Template.body.rendered = function() {
$('#output').pivot(attendance,
  {
    rows: ["group", "trainer", "client"],
    cols: ["came"]
  }
);
}

最新更新