我正在使用以下基础用户管理项目: https://github.com/themeteorchef/building-a-user-admin
我想使用aldeed:tabular将用户列表更改为dataTable。我在用户tempalete中有以下内容:
{{> tabular table=TabularTables.UsersAdmin selector=selector class="table table-striped table-bordered table-condensed"}}
在client / lib / userAdmin.js中我添加了
Meteor.isClient && Template.registerHelper('TabularTables', TabularTables);
Template.users.rendered = function(){
TabularTables.UsersAdmin = new Tabular.Table({
name: "User List",
collection: Meteor.users,
pub:"users",
columns: [{data:"roles",title:"Role",
render: function (val, type, doc) {
return val[0];
}},
{
data: "emails",
title: "Email",
render: function (val, type, doc) {
return val[0].address;
}
}],
});
}
如果我渲染用户页面,我会得到:
Uncaught ReferenceError: TabularTables is not defined.
Error: You must pass Tabular.Table instance as the table attribute
at null.<anonymous> (tabular.js:119)
我认为这是一些发布问题,但是,如果我输入控制台:
Meteor.users.findOne().emails[0].address
Meteor.users.findOne().roles[0]
两个参数都返回函数,因此Admin用户可以使用这些变量。 有任何想法吗?我使用表格错误吗?
答案 0 :(得分:1)
发现错误: 引用和所有都是正确的。只是忘了包括:
TabularTables = {};
在顶部。 TabularTables代码也应该在客户端和服务器空间中。
: - o和是。浪费了太多时间!