为什么 pivottable.js 不在 Meteor 项目中工作?
Why pivottable.js not working in Meteor project?
pivottable.js 很有魅力,但不是在最基本的流星项目中。
有 html:
<body>
<div id="output"></div>
</body>
js(定义了出勤变量并且在非 meteor 项目中一切正常):
$('#output').pivot(attendance,
{
rows: ["group", "trainer", "client"],
cols: ["came"]
}
);
在 Meteor 项目中,pivot.js 按原样放置在 client/compatibility 文件夹中,加载顺序正确:jquery > pivot.js > 我的 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"]
}
);
}
pivottable.js 很有魅力,但不是在最基本的流星项目中。 有 html:
<body>
<div id="output"></div>
</body>
js(定义了出勤变量并且在非 meteor 项目中一切正常):
$('#output').pivot(attendance,
{
rows: ["group", "trainer", "client"],
cols: ["came"]
}
);
在 Meteor 项目中,pivot.js 按原样放置在 client/compatibility 文件夹中,加载顺序正确:jquery > pivot.js > 我的 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"]
}
);
}